diff --git a/docs/_air_quality_sensor_8h_source.html b/docs/_air_quality_sensor_8h_source.html index 808a3cc..f9f7231 100644 --- a/docs/_air_quality_sensor_8h_source.html +++ b/docs/_air_quality_sensor_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/AirQualitySensor.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/AirQualitySensor.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,70 +81,82 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
AirQualitySensor.h
+
AirQualitySensor.h
-
1 #pragma once
-
2 
-
3 #include "../EventLimiter.h"
-
4 #include "../SinricProStrings.h"
-
5 
-
6 #include "../SinricProNamespace.h"
-
7 namespace SINRICPRO_NAMESPACE {
-
8 
-
9 FSTR(AIRQUALITY, airQuality); // "airQuality"
-
10 FSTR(AIRQUALITY, pm1); // "pm1"
-
11 FSTR(AIRQUALITY, pm2_5); // "pm2_5"
-
12 FSTR(AIRQUALITY, pm10); // "pm10"
-
13 
-
18 template <typename T>
- -
20  public:
- -
22  bool sendAirQualityEvent(int pm1 = 0, int pm2_5 = 0, int pm10 = 0, String cause = FSTR_SINRICPRO_PERIODIC_POLL);
-
23  private:
-
24  EventLimiter event_limiter;
-
25 };
-
26 
-
27 template <typename T>
- -
29 : event_limiter (EVENT_LIMIT_SENSOR_VALUE) {}
-
30 
-
42 template <typename T>
-
43 bool AirQualitySensor<T>::sendAirQualityEvent(int pm1, int pm2_5, int pm10, String cause) {
-
44  if (event_limiter) return false;
-
45  T* device = static_cast<T*>(this);
-
46 
-
47  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_AIRQUALITY_airQuality, cause.c_str());
-
48  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
49 
-
50  event_value[FSTR_AIRQUALITY_pm1] = pm1;
-
51  event_value[FSTR_AIRQUALITY_pm2_5] = pm2_5;
-
52  event_value[FSTR_AIRQUALITY_pm10] = pm10;
-
53 
-
54  return device->sendEvent(eventMessage);
-
55 }
-
56 
-
57 } // SINRICPRO_NAMESPACE
-
58 
-
59 template <typename T>
-
60 using AirQualitySensor = SINRICPRO_NAMESPACE::AirQualitySensor<T>;
-
AirQuality.
Definition: AirQualitySensor.h:19
-
bool sendAirQualityEvent(int pm1=0, int pm2_5=0, int pm10=0, String cause=FSTR_SINRICPRO_PERIODIC_POLL)
Sending air quality to SinricPro server.
Definition: AirQualitySensor.h:43
+
1#pragma once
+
2
+
3#include "../EventLimiter.h"
+
4#include "../SinricProStrings.h"
+
5
+
6#include "../SinricProNamespace.h"
+
7namespace SINRICPRO_NAMESPACE {
+
8
+
9FSTR(AIRQUALITY, airQuality); // "airQuality"
+
10FSTR(AIRQUALITY, pm1); // "pm1"
+
11FSTR(AIRQUALITY, pm2_5); // "pm2_5"
+
12FSTR(AIRQUALITY, pm10); // "pm10"
+
13
+
18template <typename T>
+
+ +
20 public:
+ +
+
22 bool sendAirQualityEvent(int pm1 = 0, int pm2_5 = 0, int pm10 = 0, String cause = FSTR_SINRICPRO_PERIODIC_POLL);
+
23 private:
+
24 EventLimiter event_limiter;
+
25};
+
26
+
27template <typename T>
+ +
29: event_limiter (EVENT_LIMIT_SENSOR_VALUE) {}
+
30
+
42template <typename T>
+
+
43bool AirQualitySensor<T>::sendAirQualityEvent(int pm1, int pm2_5, int pm10, String cause) {
+
44 if (event_limiter) return false;
+
45 T* device = static_cast<T*>(this);
+
46
+
47 DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_AIRQUALITY_airQuality, cause.c_str());
+
48 JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
+
49
+
50 event_value[FSTR_AIRQUALITY_pm1] = pm1;
+
51 event_value[FSTR_AIRQUALITY_pm2_5] = pm2_5;
+
52 event_value[FSTR_AIRQUALITY_pm10] = pm10;
+
53
+
54 return device->sendEvent(eventMessage);
+
55}
+
+
+
56
+
57} // SINRICPRO_NAMESPACE
+
58
+
59template <typename T>
+
60using AirQualitySensor = SINRICPRO_NAMESPACE::AirQualitySensor<T>;
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
bool sendAirQualityEvent(int pm1=0, int pm2_5=0, int pm10=0, String cause=FSTR_SINRICPRO_PERIODIC_POLL)
Sending air quality to SinricPro server.
Definition AirQualitySensor.h:43
diff --git a/docs/_brightness_controller_8h_source.html b/docs/_brightness_controller_8h_source.html index 9322f60..91f1d3b 100644 --- a/docs/_brightness_controller_8h_source.html +++ b/docs/_brightness_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/BrightnessController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/BrightnessController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,117 +81,138 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
BrightnessController.h
+
BrightnessController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../EventLimiter.h"
-
5 #include "../SinricProStrings.h"
-
6 
-
7 #include "../SinricProNamespace.h"
-
8 namespace SINRICPRO_NAMESPACE {
-
9 
-
10 FSTR(BRIGHTNESS, setBrightness); // "setBrightness"
-
11 FSTR(BRIGHTNESS, brightness); // "brightness"
-
12 FSTR(BRIGHTNESS, adjustBrightness); // "adjustBrightness"
-
13 FSTR(BRIGHTNESS, brightnessDelta); // "brightnessDelta"
-
14 
-
28 using BrightnessCallback = std::function<bool(const String &, int &)>;
-
29 
-
43 using AdjustBrightnessCallback = std::function<bool(const String &, int &)>;
-
44 
-
49 template <typename T>
- -
51  public:
- -
53 
- - -
56 
-
57  bool sendBrightnessEvent(int brightness, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
58  protected:
-
59  bool handleBrightnessController(SinricProRequest &request);
-
60 
-
61  private:
-
62  EventLimiter event_limiter;
-
63  BrightnessCallback brightnessCallback;
-
64  AdjustBrightnessCallback adjustBrightnessCallback;
-
65 };
-
66 
-
67 template <typename T>
- -
69 : event_limiter (EVENT_LIMIT_STATE) {
-
70  T* device = static_cast<T*>(this);
-
71  device->registerRequestHandler(std::bind(&BrightnessController<T>::handleBrightnessController, this, std::placeholders::_1));
-
72 }
-
73 
-
81 template <typename T>
- -
83  brightnessCallback = cb;
-
84 }
-
85 
-
93 template <typename T>
- -
95  adjustBrightnessCallback = cb;
-
96 }
-
97 
-
107 template <typename T>
-
108 bool BrightnessController<T>::sendBrightnessEvent(int brightness, String cause) {
-
109  if (event_limiter) return false;
-
110  T* device = static_cast<T*>(this);
-
111 
-
112  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_BRIGHTNESS_setBrightness, cause.c_str());
-
113  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
114  event_value[FSTR_BRIGHTNESS_brightness] = brightness;
-
115  return device->sendEvent(eventMessage);
-
116 }
-
117 
-
118 template <typename T>
-
119 bool BrightnessController<T>::handleBrightnessController(SinricProRequest &request) {
-
120  T* device = static_cast<T*>(this);
-
121  bool success = false;
-
122 
-
123  if (brightnessCallback && request.action == FSTR_BRIGHTNESS_setBrightness) {
-
124  int brightness = request.request_value[FSTR_BRIGHTNESS_brightness];
-
125  success = brightnessCallback(device->deviceId, brightness);
-
126  request.response_value[FSTR_BRIGHTNESS_brightness] = brightness;
-
127  }
-
128 
-
129  if (adjustBrightnessCallback && request.action == FSTR_BRIGHTNESS_adjustBrightness) {
-
130  int brightnessDelta = request.request_value[FSTR_BRIGHTNESS_brightnessDelta];
-
131  success = adjustBrightnessCallback(device->deviceId, brightnessDelta);
-
132  request.response_value[FSTR_BRIGHTNESS_brightness] = brightnessDelta;
-
133  }
-
134 
-
135  return success;
-
136 }
-
137 
-
138 } // SINRICPRO_NAMESPACE
-
139 
-
140 template <typename T>
-
141 using BrightnessController = SINRICPRO_NAMESPACE::BrightnessController<T>;
-
BrightnessController.
Definition: BrightnessController.h:50
-
void onAdjustBrightness(AdjustBrightnessCallback cb)
Set callback function for adjustBrightness request.
Definition: BrightnessController.h:94
-
bool sendBrightnessEvent(int brightness, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setBrightness event to SinricPro Server indicating actual brightness.
Definition: BrightnessController.h:108
-
void onBrightness(BrightnessCallback cb)
Set callback function for setBrightness request.
Definition: BrightnessController.h:82
-
std::function< bool(const String &, int &)> AdjustBrightnessCallback
Callback definition for onAdjustBrightness function.
Definition: BrightnessController.h:43
-
std::function< bool(const String &, int &)> BrightnessCallback
Callback definition for onBrightness function.
Definition: BrightnessController.h:28
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../EventLimiter.h"
+
5#include "../SinricProStrings.h"
+
6
+
7#include "../SinricProNamespace.h"
+
8namespace SINRICPRO_NAMESPACE {
+
9
+
10FSTR(BRIGHTNESS, setBrightness); // "setBrightness"
+
11FSTR(BRIGHTNESS, brightness); // "brightness"
+
12FSTR(BRIGHTNESS, adjustBrightness); // "adjustBrightness"
+
13FSTR(BRIGHTNESS, brightnessDelta); // "brightnessDelta"
+
14
+
28using BrightnessCallback = std::function<bool(const String &, int &)>;
+
29
+
43using AdjustBrightnessCallback = std::function<bool(const String &, int &)>;
+
44
+
49template <typename T>
+
+ +
51 public:
+ +
53
+
+ +
+ +
56
+
+ +
58 protected:
+
59 bool handleBrightnessController(SinricProRequest &request);
+
60
+
61 private:
+
62 EventLimiter event_limiter;
+
63 BrightnessCallback brightnessCallback;
+
64 AdjustBrightnessCallback adjustBrightnessCallback;
+
65};
+
66
+
67template <typename T>
+ +
69: event_limiter (EVENT_LIMIT_STATE) {
+
70 T* device = static_cast<T*>(this);
+
71 device->registerRequestHandler(std::bind(&BrightnessController<T>::handleBrightnessController, this, std::placeholders::_1));
+
72}
+
73
+
81template <typename T>
+
+ +
83 brightnessCallback = cb;
+
84}
+
+
85
+
93template <typename T>
+
+ +
95 adjustBrightnessCallback = cb;
+
96}
+
+
97
+
107template <typename T>
+
+ +
109 if (event_limiter) return false;
+
110 T* device = static_cast<T*>(this);
+
111
+ + + +
115 return device->sendEvent(eventMessage);
+
116}
+
+
+
117
+
118template <typename T>
+ +
120 T* device = static_cast<T*>(this);
+
121 bool success = false;
+
122
+
123 if (brightnessCallback && request.action == FSTR_BRIGHTNESS_setBrightness) {
+
124 int brightness = request.request_value[FSTR_BRIGHTNESS_brightness];
+
125 success = brightnessCallback(device->deviceId, brightness);
+ +
127 }
+
128
+
129 if (adjustBrightnessCallback && request.action == FSTR_BRIGHTNESS_adjustBrightness) {
+
130 int brightnessDelta = request.request_value[FSTR_BRIGHTNESS_brightnessDelta];
+
131 success = adjustBrightnessCallback(device->deviceId, brightnessDelta);
+
132 request.response_value[FSTR_BRIGHTNESS_brightness] = brightnessDelta;
+
133 }
+
134
+
135 return success;
+
136}
+
137
+
138} // SINRICPRO_NAMESPACE
+
139
+
140template <typename T>
+
141using BrightnessController = SINRICPRO_NAMESPACE::BrightnessController<T>;
+
+
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
BrightnessController.
Definition BrightnessController.h:50
+
void onAdjustBrightness(AdjustBrightnessCallback cb)
Set callback function for adjustBrightness request.
Definition BrightnessController.h:94
+
bool sendBrightnessEvent(int brightness, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setBrightness event to SinricPro Server indicating actual brightness.
Definition BrightnessController.h:108
+
void onBrightness(BrightnessCallback cb)
Set callback function for setBrightness request.
Definition BrightnessController.h:82
+
std::function< bool(const String &, int &)> AdjustBrightnessCallback
Callback definition for onAdjustBrightness function.
Definition BrightnessController.h:43
+
std::function< bool(const String &, int &)> BrightnessCallback
Callback definition for onBrightness function.
Definition BrightnessController.h:28
diff --git a/docs/_channel_controller_8h_source.html b/docs/_channel_controller_8h_source.html index fc616ab..36f85e8 100644 --- a/docs/_channel_controller_8h_source.html +++ b/docs/_channel_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/ChannelController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/ChannelController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,144 +81,169 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
ChannelController.h
+
ChannelController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../EventLimiter.h"
-
5 #include "../SinricProStrings.h"
-
6 
-
7 #include "../SinricProNamespace.h"
-
8 namespace SINRICPRO_NAMESPACE {
-
9 
-
10 FSTR(CHANNEL, changeChannel); // "changeChannel"
-
11 FSTR(CHANNEL, channel); // "channel"
-
12 FSTR(CHANNEL, name); // "name"
-
13 FSTR(CHANNEL, number); // "number"
-
14 FSTR(CHANNEL, skipChannels); // "skipChannels"
-
15 FSTR(CHANNEL, channelCount); // "channelCount"
-
16 
-
31 using ChangeChannelCallback = std::function<bool(const String &, String &)>;
-
32 
-
47 using ChangeChannelNumberCallback = std::function<bool(const String &, int, String &)>;
-
48 
-
63 using SkipChannelsCallback = std::function<bool(const String &, int, String &)>;
-
64 
-
69 template <typename T>
- -
71  public:
- -
73 
- - - -
77 
-
78  bool sendChangeChannelEvent(String channelName, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
79  protected:
-
80  bool handleChannelController(SinricProRequest &request);
-
81 
-
82  private:
-
83  EventLimiter event_limiter;
-
84  ChangeChannelCallback changeChannelCallback;
-
85  ChangeChannelNumberCallback changeChannelNumberCallback;
-
86  SkipChannelsCallback skipChannelsCallback;
-
87 };
-
88 
-
89 template <typename T>
- -
91 : event_limiter(EVENT_LIMIT_STATE) {
-
92  T* device = static_cast<T*>(this);
-
93  device->registerRequestHandler(std::bind(&ChannelController<T>::handleChannelController, this, std::placeholders::_1));
-
94 }
-
95 
-
103 template <typename T>
- -
105  changeChannelCallback = cb;
-
106 }
-
107 
-
115 template <typename T>
- -
117  changeChannelNumberCallback = cb;
-
118 }
-
119 
-
127 template <typename T>
- -
129  skipChannelsCallback = cb;
-
130 }
-
131 
-
141 template <typename T>
-
142 bool ChannelController<T>::sendChangeChannelEvent(String channelName, String cause) {
-
143  if (event_limiter) return false;
-
144  T* device = static_cast<T*>(this);
-
145 
-
146  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_CHANNEL_changeChannel, cause.c_str());
-
147  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
148  event_value[FSTR_CHANNEL_channel][FSTR_CHANNEL_name] = channelName;
-
149  return device->sendEvent(eventMessage);
-
150 }
-
151 
-
152 template <typename T>
-
153 bool ChannelController<T>::handleChannelController(SinricProRequest &request) {
-
154  T* device = static_cast<T*>(this);
-
155 
-
156  bool success = false;
-
157 
-
158  if (request.action == FSTR_CHANNEL_changeChannel) {
-
159 
-
160  if (changeChannelCallback && request.request_value[FSTR_CHANNEL_channel].containsKey(FSTR_CHANNEL_name)) {
-
161  String channelName = request.request_value[FSTR_CHANNEL_channel][FSTR_CHANNEL_name] | "";
-
162  success = changeChannelCallback(device->deviceId, channelName);
-
163  request.response_value[FSTR_CHANNEL_channel][FSTR_CHANNEL_name] = channelName;
-
164  }
-
165 
-
166  if (changeChannelNumberCallback && request.request_value[FSTR_CHANNEL_channel].containsKey(FSTR_CHANNEL_number)) {
-
167  String channelName("");
-
168  int channelNumber = request.request_value[FSTR_CHANNEL_channel][FSTR_CHANNEL_number];
-
169  success = changeChannelNumberCallback(device->deviceId, channelNumber, channelName);
-
170  request.response_value[FSTR_CHANNEL_channel][FSTR_CHANNEL_name] = channelName;
-
171  }
-
172  return success;
-
173  }
-
174 
-
175  if (skipChannelsCallback && request.action == FSTR_CHANNEL_skipChannels) {
-
176  String channelName;
-
177  int channelCount = request.request_value[FSTR_CHANNEL_channelCount] | 0;
-
178  success = skipChannelsCallback(device->deviceId, channelCount, channelName);
-
179  request.response_value[FSTR_CHANNEL_channel][FSTR_CHANNEL_name] = channelName;
-
180  return success;
-
181  }
-
182 
-
183  return success;
-
184 }
-
185 
-
186 } // SINRICPRO_NAMESPACE
-
187 
-
188 template <typename T>
-
189 using ChannelController = SINRICPRO_NAMESPACE::ChannelController<T>;
-
ChannelController.
Definition: ChannelController.h:70
-
void onChangeChannel(ChangeChannelCallback cb)
Set callback function for changeChannel request.
Definition: ChannelController.h:104
-
void onSkipChannels(SkipChannelsCallback cb)
Set callback function for skipChannels request.
Definition: ChannelController.h:128
-
void onChangeChannelNumber(ChangeChannelNumberCallback cb)
Set callback function for changeChannel request.
Definition: ChannelController.h:116
-
bool sendChangeChannelEvent(String channelName, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send changeChannel event to SinricPro Server to report selected channel.
Definition: ChannelController.h:142
-
std::function< bool(const String &, int, String &)> SkipChannelsCallback
Callback definition for onSkipChannels function.
Definition: ChannelController.h:63
-
std::function< bool(const String &, String &)> ChangeChannelCallback
Callback definition for onChangeChannel function.
Definition: ChannelController.h:31
-
std::function< bool(const String &, int, String &)> ChangeChannelNumberCallback
Callback definition for onChangeChannelNumber function.
Definition: ChannelController.h:47
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../EventLimiter.h"
+
5#include "../SinricProStrings.h"
+
6
+
7#include "../SinricProNamespace.h"
+
8namespace SINRICPRO_NAMESPACE {
+
9
+
10FSTR(CHANNEL, changeChannel); // "changeChannel"
+
11FSTR(CHANNEL, channel); // "channel"
+
12FSTR(CHANNEL, name); // "name"
+
13FSTR(CHANNEL, number); // "number"
+
14FSTR(CHANNEL, skipChannels); // "skipChannels"
+
15FSTR(CHANNEL, channelCount); // "channelCount"
+
16
+
31using ChangeChannelCallback = std::function<bool(const String &, String &)>;
+
32
+
47using ChangeChannelNumberCallback = std::function<bool(const String &, int, String &)>;
+
48
+
63using SkipChannelsCallback = std::function<bool(const String &, int, String &)>;
+
64
+
69template <typename T>
+
+ +
71 public:
+ +
73
+
+ +
+ +
+ +
77
+
+ +
79 protected:
+
80 bool handleChannelController(SinricProRequest &request);
+
81
+
82 private:
+
83 EventLimiter event_limiter;
+
84 ChangeChannelCallback changeChannelCallback;
+
85 ChangeChannelNumberCallback changeChannelNumberCallback;
+
86 SkipChannelsCallback skipChannelsCallback;
+
87};
+
88
+
89template <typename T>
+ +
91: event_limiter(EVENT_LIMIT_STATE) {
+
92 T* device = static_cast<T*>(this);
+
93 device->registerRequestHandler(std::bind(&ChannelController<T>::handleChannelController, this, std::placeholders::_1));
+
94}
+
95
+
103template <typename T>
+
+ +
105 changeChannelCallback = cb;
+
106}
+
+
107
+
115template <typename T>
+
+ +
117 changeChannelNumberCallback = cb;
+
118}
+
+
119
+
127template <typename T>
+
+ +
129 skipChannelsCallback = cb;
+
130}
+
+
131
+
141template <typename T>
+
+ +
143 if (event_limiter) return false;
+
144 T* device = static_cast<T*>(this);
+
145
+ + + +
149 return device->sendEvent(eventMessage);
+
150}
+
+
+
151
+
152template <typename T>
+ +
154 T* device = static_cast<T*>(this);
+
155
+
156 bool success = false;
+
157
+
158 if (request.action == FSTR_CHANNEL_changeChannel) {
+
159
+
160 if (changeChannelCallback && request.request_value[FSTR_CHANNEL_channel].containsKey(FSTR_CHANNEL_name)) {
+
161 String channelName = request.request_value[FSTR_CHANNEL_channel][FSTR_CHANNEL_name] | "";
+
162 success = changeChannelCallback(device->deviceId, channelName);
+ +
164 }
+
165
+
166 if (changeChannelNumberCallback && request.request_value[FSTR_CHANNEL_channel].containsKey(FSTR_CHANNEL_number)) {
+
167 String channelName("");
+
168 int channelNumber = request.request_value[FSTR_CHANNEL_channel][FSTR_CHANNEL_number];
+
169 success = changeChannelNumberCallback(device->deviceId, channelNumber, channelName);
+
170 request.response_value[FSTR_CHANNEL_channel][FSTR_CHANNEL_name] = channelName;
+
171 }
+
172 return success;
+
173 }
+
174
+
175 if (skipChannelsCallback && request.action == FSTR_CHANNEL_skipChannels) {
+
176 String channelName;
+
177 int channelCount = request.request_value[FSTR_CHANNEL_channelCount] | 0;
+
178 success = skipChannelsCallback(device->deviceId, channelCount, channelName);
+
179 request.response_value[FSTR_CHANNEL_channel][FSTR_CHANNEL_name] = channelName;
+
180 return success;
+
181 }
+
182
+
183 return success;
+
184}
+
185
+
186} // SINRICPRO_NAMESPACE
+
187
+
188template <typename T>
+
189using ChannelController = SINRICPRO_NAMESPACE::ChannelController<T>;
+
+
+
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
ChannelController.
Definition ChannelController.h:70
+
void onChangeChannel(ChangeChannelCallback cb)
Set callback function for changeChannel request.
Definition ChannelController.h:104
+
void onSkipChannels(SkipChannelsCallback cb)
Set callback function for skipChannels request.
Definition ChannelController.h:128
+
void onChangeChannelNumber(ChangeChannelNumberCallback cb)
Set callback function for changeChannel request.
Definition ChannelController.h:116
+
bool sendChangeChannelEvent(String channelName, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send changeChannel event to SinricPro Server to report selected channel.
Definition ChannelController.h:142
+
std::function< bool(const String &, int, String &)> SkipChannelsCallback
Callback definition for onSkipChannels function.
Definition ChannelController.h:63
+
std::function< bool(const String &, String &)> ChangeChannelCallback
Callback definition for onChangeChannel function.
Definition ChannelController.h:31
+
std::function< bool(const String &, int, String &)> ChangeChannelNumberCallback
Callback definition for onChangeChannelNumber function.
Definition ChannelController.h:47
diff --git a/docs/_color_controller_8h_source.html b/docs/_color_controller_8h_source.html index 61eba6c..544607e 100644 --- a/docs/_color_controller_8h_source.html +++ b/docs/_color_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/ColorController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/ColorController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,111 +81,128 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
ColorController.h
+
ColorController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../EventLimiter.h"
-
5 #include "../SinricProStrings.h"
-
6 
-
7 #include "../SinricProNamespace.h"
-
8 namespace SINRICPRO_NAMESPACE {
-
9 
-
10 FSTR(COLOR, setColor); // "setColor"
-
11 FSTR(COLOR, color); // "color"
-
12 FSTR(COLOR, r); // "r"
-
13 FSTR(COLOR, g); // "g"
-
14 FSTR(COLOR, b); // "b"
-
15 
-
33 using ColorCallback = std::function<bool(const String &, byte &, byte &, byte &)>;
-
34 
-
39 template <typename T>
- -
41  public:
- -
43 
- -
45  bool sendColorEvent(byte r, byte g, byte b, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
46 
-
47  protected:
-
48  bool handleColorController(SinricProRequest &request);
-
49 
-
50  private:
-
51  EventLimiter event_limiter;
-
52  ColorCallback colorCallback;
-
53 };
-
54 
-
55 template <typename T>
- -
57 : event_limiter(EVENT_LIMIT_STATE) {
-
58  T* device = static_cast<T*>(this);
-
59  device->registerRequestHandler(std::bind(&ColorController<T>::handleColorController, this, std::placeholders::_1));
-
60 }
-
61 
-
62 
-
70 template <typename T>
- -
72  colorCallback = cb;
-
73 }
-
74 
-
86 template <typename T>
-
87 bool ColorController<T>::sendColorEvent(byte r, byte g, byte b, String cause) {
-
88  if (event_limiter) return false;
-
89  T* device = static_cast<T*>(this);
-
90 
-
91  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_COLOR_setColor, cause.c_str());
-
92  JsonObject event_color = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value].createNestedObject(FSTR_COLOR_color);
-
93  event_color[FSTR_COLOR_r] = r;
-
94  event_color[FSTR_COLOR_g] = g;
-
95  event_color[FSTR_COLOR_b] = b;
-
96  return device->sendEvent(eventMessage);
-
97 }
-
98 
-
99 template <typename T>
-
100 bool ColorController<T>::handleColorController(SinricProRequest &request) {
-
101  T* device = static_cast<T*>(this);
-
102 
-
103  bool success = false;
-
104 
-
105  if (colorCallback && request.action == FSTR_COLOR_setColor) {
-
106  unsigned char r, g, b;
-
107  r = request.request_value[FSTR_COLOR_color][FSTR_COLOR_r];
-
108  g = request.request_value[FSTR_COLOR_color][FSTR_COLOR_g];
-
109  b = request.request_value[FSTR_COLOR_color][FSTR_COLOR_b];
-
110  success = colorCallback(device->deviceId, r, g, b);
-
111  request.response_value.createNestedObject(FSTR_COLOR_color);
-
112  request.response_value[FSTR_COLOR_color][FSTR_COLOR_r] = r;
-
113  request.response_value[FSTR_COLOR_color][FSTR_COLOR_g] = g;
-
114  request.response_value[FSTR_COLOR_color][FSTR_COLOR_b] = b;
-
115  }
-
116 
-
117  return success;
-
118 }
-
119 
-
120 } // SINRICPRO_NAMESPACE
-
121 
-
122 template <typename T>
-
123 using ColorController = SINRICPRO_NAMESPACE::ColorController<T>;
-
ColorController.
Definition: ColorController.h:40
-
void onColor(ColorCallback cb)
Set callback function for setColor request.
Definition: ColorController.h:71
-
bool sendColorEvent(byte r, byte g, byte b, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setColor event to SinricPro Server indicating actual color.
Definition: ColorController.h:87
-
std::function< bool(const String &, byte &, byte &, byte &)> ColorCallback
Callback definition for onColor function.
Definition: ColorController.h:33
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../EventLimiter.h"
+
5#include "../SinricProStrings.h"
+
6
+
7#include "../SinricProNamespace.h"
+
8namespace SINRICPRO_NAMESPACE {
+
9
+
10FSTR(COLOR, setColor); // "setColor"
+
11FSTR(COLOR, color); // "color"
+
12FSTR(COLOR, r); // "r"
+
13FSTR(COLOR, g); // "g"
+
14FSTR(COLOR, b); // "b"
+
15
+
33using ColorCallback = std::function<bool(const String &, byte &, byte &, byte &)>;
+
34
+
39template <typename T>
+
+ +
41 public:
+ +
43
+
+ +
+
45 bool sendColorEvent(byte r, byte g, byte b, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
+
46
+
47 protected:
+
48 bool handleColorController(SinricProRequest &request);
+
49
+
50 private:
+
51 EventLimiter event_limiter;
+
52 ColorCallback colorCallback;
+
53};
+
54
+
55template <typename T>
+ +
57: event_limiter(EVENT_LIMIT_STATE) {
+
58 T* device = static_cast<T*>(this);
+
59 device->registerRequestHandler(std::bind(&ColorController<T>::handleColorController, this, std::placeholders::_1));
+
60}
+
61
+
62
+
70template <typename T>
+
+ +
72 colorCallback = cb;
+
73}
+
+
74
+
86template <typename T>
+
+
87bool ColorController<T>::sendColorEvent(byte r, byte g, byte b, String cause) {
+
88 if (event_limiter) return false;
+
89 T* device = static_cast<T*>(this);
+
90
+ + + + + +
96 return device->sendEvent(eventMessage);
+
97}
+
+
+
98
+
99template <typename T>
+ +
101 T* device = static_cast<T*>(this);
+
102
+
103 bool success = false;
+
104
+
105 if (colorCallback && request.action == FSTR_COLOR_setColor) {
+
106 unsigned char r, g, b;
+
107 r = request.request_value[FSTR_COLOR_color][FSTR_COLOR_r];
+
108 g = request.request_value[FSTR_COLOR_color][FSTR_COLOR_g];
+
109 b = request.request_value[FSTR_COLOR_color][FSTR_COLOR_b];
+
110 success = colorCallback(device->deviceId, r, g, b);
+
111 request.response_value.createNestedObject(FSTR_COLOR_color);
+
112 request.response_value[FSTR_COLOR_color][FSTR_COLOR_r] = r;
+
113 request.response_value[FSTR_COLOR_color][FSTR_COLOR_g] = g;
+
114 request.response_value[FSTR_COLOR_color][FSTR_COLOR_b] = b;
+
115 }
+
116
+
117 return success;
+
118}
+
119
+
120} // SINRICPRO_NAMESPACE
+
121
+
122template <typename T>
+
123using ColorController = SINRICPRO_NAMESPACE::ColorController<T>;
+
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
ColorController.
Definition ColorController.h:40
+
void onColor(ColorCallback cb)
Set callback function for setColor request.
Definition ColorController.h:71
+
bool sendColorEvent(byte r, byte g, byte b, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setColor event to SinricPro Server indicating actual color.
Definition ColorController.h:87
+
std::function< bool(const String &, byte &, byte &, byte &)> ColorCallback
Callback definition for onColor function.
Definition ColorController.h:33
diff --git a/docs/_color_temperature_controller_8h_source.html b/docs/_color_temperature_controller_8h_source.html index 671dbf8..cda3ca3 100644 --- a/docs/_color_temperature_controller_8h_source.html +++ b/docs/_color_temperature_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/ColorTemperatureController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/ColorTemperatureController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,138 +81,163 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
ColorTemperatureController.h
+
ColorTemperatureController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../EventLimiter.h"
-
5 #include "../SinricProStrings.h"
-
6 
-
7 #include "../SinricProNamespace.h"
-
8 namespace SINRICPRO_NAMESPACE {
-
9 
-
10 FSTR(COLORTEMPERATURE, colorTemperature); // "colorTemperature"
-
11 FSTR(COLORTEMPERATURE, setColorTemperature); // "setColorTemperature"
-
12 FSTR(COLORTEMPERATURE, increaseColorTemperature); // "increaseColorTemperature"
-
13 FSTR(COLORTEMPERATURE, decreaseColorTemperature); // "decreaseColorTemperature"
-
14 
-
28 using ColorTemperatureCallback = std::function<bool(const String &, int &)>;
-
29 
-
43 using IncreaseColorTemperatureCallback = std::function<bool(const String &, int &)>;
-
44 
-
58 using DecreaseColorTemperatureCallback = std::function<bool(const String &, int &)>;
-
59 
-
60 
-
65 template <typename T>
- -
67  public:
- -
69 
- - - -
73 
-
74  bool sendColorTemperatureEvent(int colorTemperature, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
75 
-
76  protected:
-
77  bool handleColorTemperatureController(SinricProRequest &request);
-
78 
-
79  private:
-
80  EventLimiter event_limiter;
-
81 // SinricProDeviceInterface *device;
-
82  ColorTemperatureCallback colorTemperatureCallback;
-
83  IncreaseColorTemperatureCallback increaseColorTemperatureCallback;
-
84  DecreaseColorTemperatureCallback decreaseColorTemperatureCallback;
-
85 };
-
86 
-
87 template <typename T>
- -
89 : event_limiter(EVENT_LIMIT_STATE) {
-
90  T* device = static_cast<T*>(this);
-
91  device->registerRequestHandler(std::bind(&ColorTemperatureController<T>::handleColorTemperatureController, this, std::placeholders::_1));
-
92 }
-
93 
-
101 template <typename T>
- -
103  colorTemperatureCallback = cb;
-
104 }
-
105 
-
113 template <typename T>
- -
115  increaseColorTemperatureCallback = cb;
-
116 }
-
117 
-
125 template <typename T>
- -
127  decreaseColorTemperatureCallback = cb;
-
128 }
-
129 
-
139 template <typename T>
-
140 bool ColorTemperatureController<T>::sendColorTemperatureEvent(int colorTemperature, String cause) {
-
141  if (event_limiter) return false;
-
142  T* device = static_cast<T*>(this);
-
143 
-
144  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_COLORTEMPERATURE_setColorTemperature, cause.c_str());
-
145  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
146  event_value[FSTR_COLORTEMPERATURE_colorTemperature] = colorTemperature;
-
147  return device->sendEvent(eventMessage);
-
148 }
-
149 
-
150 template <typename T>
- -
152  T* device = static_cast<T*>(this);
-
153 
-
154  bool success = false;
-
155 
-
156  if (colorTemperatureCallback && request.action == FSTR_COLORTEMPERATURE_setColorTemperature) {
-
157  int colorTemperature = request.request_value[FSTR_COLORTEMPERATURE_colorTemperature];
-
158  success = colorTemperatureCallback(device->deviceId, colorTemperature);
-
159  request.response_value[FSTR_COLORTEMPERATURE_colorTemperature] = colorTemperature;
-
160  }
-
161 
-
162  if (increaseColorTemperatureCallback && request.action == FSTR_COLORTEMPERATURE_increaseColorTemperature) {
-
163  int colorTemperature = 1;
-
164  success = increaseColorTemperatureCallback(device->deviceId, colorTemperature);
-
165  request.response_value[FSTR_COLORTEMPERATURE_colorTemperature] = colorTemperature;
-
166  }
-
167 
-
168  if (decreaseColorTemperatureCallback && request.action == FSTR_COLORTEMPERATURE_decreaseColorTemperature) {
-
169  int colorTemperature = -1;
-
170  success = decreaseColorTemperatureCallback(device->deviceId, colorTemperature);
-
171  request.response_value[FSTR_COLORTEMPERATURE_colorTemperature] = colorTemperature;
-
172  }
-
173 
-
174  return success;
-
175 }
-
176 
-
177 } // SINRICPRO_NAMESPACE
-
178 
-
179 template <typename T>
-
180 using ColorTemperatureController = SINRICPRO_NAMESPACE::ColorTemperatureController<T>;
-
ColorTemperatureController.
Definition: ColorTemperatureController.h:66
-
bool sendColorTemperatureEvent(int colorTemperature, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setColorTemperature event to SinricPro Server indicating actual color temperature.
Definition: ColorTemperatureController.h:140
-
void onDecreaseColorTemperature(DecreaseColorTemperatureCallback cb)
Set callback function for decreaseColorTemperature request.
Definition: ColorTemperatureController.h:126
-
void onIncreaseColorTemperature(IncreaseColorTemperatureCallback cb)
Set callback function for increaseColorTemperature request.
Definition: ColorTemperatureController.h:114
-
void onColorTemperature(ColorTemperatureCallback cb)
Set callback function for setColorTemperature request.
Definition: ColorTemperatureController.h:102
-
std::function< bool(const String &, int &)> ColorTemperatureCallback
Callback definition for onColorTemperature function.
Definition: ColorTemperatureController.h:28
-
std::function< bool(const String &, int &)> DecreaseColorTemperatureCallback
Callback definition for onDecreaseColorTemperature function.
Definition: ColorTemperatureController.h:58
-
std::function< bool(const String &, int &)> IncreaseColorTemperatureCallback
Callback definition for onIncreaseColorTemperature function.
Definition: ColorTemperatureController.h:43
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../EventLimiter.h"
+
5#include "../SinricProStrings.h"
+
6
+
7#include "../SinricProNamespace.h"
+
8namespace SINRICPRO_NAMESPACE {
+
9
+
10FSTR(COLORTEMPERATURE, colorTemperature); // "colorTemperature"
+
11FSTR(COLORTEMPERATURE, setColorTemperature); // "setColorTemperature"
+
12FSTR(COLORTEMPERATURE, increaseColorTemperature); // "increaseColorTemperature"
+
13FSTR(COLORTEMPERATURE, decreaseColorTemperature); // "decreaseColorTemperature"
+
14
+
28using ColorTemperatureCallback = std::function<bool(const String &, int &)>;
+
29
+
43using IncreaseColorTemperatureCallback = std::function<bool(const String &, int &)>;
+
44
+
58using DecreaseColorTemperatureCallback = std::function<bool(const String &, int &)>;
+
59
+
60
+
65template <typename T>
+
+ +
67 public:
+ +
69
+
+ +
+ +
+ +
73
+
+ +
75
+
76 protected:
+
77 bool handleColorTemperatureController(SinricProRequest &request);
+
78
+
79 private:
+
80 EventLimiter event_limiter;
+
81// SinricProDeviceInterface *device;
+
82 ColorTemperatureCallback colorTemperatureCallback;
+
83 IncreaseColorTemperatureCallback increaseColorTemperatureCallback;
+
84 DecreaseColorTemperatureCallback decreaseColorTemperatureCallback;
+
85};
+
86
+
87template <typename T>
+ +
89: event_limiter(EVENT_LIMIT_STATE) {
+
90 T* device = static_cast<T*>(this);
+
91 device->registerRequestHandler(std::bind(&ColorTemperatureController<T>::handleColorTemperatureController, this, std::placeholders::_1));
+
92}
+
93
+
101template <typename T>
+
+ +
103 colorTemperatureCallback = cb;
+
104}
+
+
105
+
113template <typename T>
+ +
117
+
125template <typename T>
+ +
129
+
139template <typename T>
+ +
+
149
+
150template <typename T>
+ +
152 T* device = static_cast<T*>(this);
+
153
+
154 bool success = false;
+
155
+
156 if (colorTemperatureCallback && request.action == FSTR_COLORTEMPERATURE_setColorTemperature) {
+ +
158 success = colorTemperatureCallback(device->deviceId, colorTemperature);
+ +
160 }
+
161
+
162 if (increaseColorTemperatureCallback && request.action == FSTR_COLORTEMPERATURE_increaseColorTemperature) {
+
163 int colorTemperature = 1;
+
164 success = increaseColorTemperatureCallback(device->deviceId, colorTemperature);
+
165 request.response_value[FSTR_COLORTEMPERATURE_colorTemperature] = colorTemperature;
+
166 }
+
167
+
168 if (decreaseColorTemperatureCallback && request.action == FSTR_COLORTEMPERATURE_decreaseColorTemperature) {
+
169 int colorTemperature = -1;
+
170 success = decreaseColorTemperatureCallback(device->deviceId, colorTemperature);
+
171 request.response_value[FSTR_COLORTEMPERATURE_colorTemperature] = colorTemperature;
+
172 }
+
173
+
174 return success;
+
175}
+
176
+
177} // SINRICPRO_NAMESPACE
+
178
+
179template <typename T>
+
180using ColorTemperatureController = SINRICPRO_NAMESPACE::ColorTemperatureController<T>;
+
+
+
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
ColorTemperatureController.
Definition ColorTemperatureController.h:66
+
bool sendColorTemperatureEvent(int colorTemperature, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setColorTemperature event to SinricPro Server indicating actual color temperature.
Definition ColorTemperatureController.h:140
+
void onDecreaseColorTemperature(DecreaseColorTemperatureCallback cb)
Set callback function for decreaseColorTemperature request.
Definition ColorTemperatureController.h:126
+
void onIncreaseColorTemperature(IncreaseColorTemperatureCallback cb)
Set callback function for increaseColorTemperature request.
Definition ColorTemperatureController.h:114
+
void onColorTemperature(ColorTemperatureCallback cb)
Set callback function for setColorTemperature request.
Definition ColorTemperatureController.h:102
+
std::function< bool(const String &, int &)> ColorTemperatureCallback
Callback definition for onColorTemperature function.
Definition ColorTemperatureController.h:28
+
std::function< bool(const String &, int &)> DecreaseColorTemperatureCallback
Callback definition for onDecreaseColorTemperature function.
Definition ColorTemperatureController.h:58
+
std::function< bool(const String &, int &)> IncreaseColorTemperatureCallback
Callback definition for onIncreaseColorTemperature function.
Definition ColorTemperatureController.h:43
diff --git a/docs/_contact_sensor_8h_source.html b/docs/_contact_sensor_8h_source.html index ea45b05..b4627cc 100644 --- a/docs/_contact_sensor_8h_source.html +++ b/docs/_contact_sensor_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/ContactSensor.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/ContactSensor.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,66 +81,79 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
ContactSensor.h
+
ContactSensor.h
-
1 #pragma once
-
2 
-
3 #include "../EventLimiter.h"
-
4 #include "../SinricProStrings.h"
-
5 
-
6 #include "../SinricProNamespace.h"
-
7 namespace SINRICPRO_NAMESPACE {
-
8 
-
9 FSTR(CONTACT, setContactState); // "setContactState"
-
10 FSTR(CONTACT, state); // "state"
-
11 FSTR(CONTACT, closed); // "closed"
-
12 FSTR(CONTACT, open); // "open"
-
13 
-
18 template <typename T>
- -
20  public:
-
21  ContactSensor();
-
22  bool sendContactEvent(bool detected, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
23  private:
-
24  EventLimiter event_limiter;
-
25 };
-
26 
-
27 template <typename T>
- -
29 : event_limiter(EVENT_LIMIT_SENSOR_STATE) {}
-
30 
-
39 template <typename T>
-
40 bool ContactSensor<T>::sendContactEvent(bool detected, String cause) {
-
41  if (event_limiter) return false;
-
42  T* device = static_cast<T*>(this);
-
43 
-
44  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_CONTACT_setContactState, cause.c_str());
-
45  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
46  event_value[FSTR_CONTACT_state] = detected ? FSTR_CONTACT_closed : FSTR_CONTACT_open;
-
47  return device->sendEvent(eventMessage);
-
48 }
-
49 
-
50 } // SINRICPRO_NAMESPACE
-
51 
-
52 template <typename T>
-
53 using ContactSensor = SINRICPRO_NAMESPACE::ContactSensor<T>;
-
ContactSensor.
Definition: ContactSensor.h:19
-
bool sendContactEvent(bool detected, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setContactState event to SinricPro Server indicating actual power state.
Definition: ContactSensor.h:40
+
1#pragma once
+
2
+
3#include "../EventLimiter.h"
+
4#include "../SinricProStrings.h"
+
5
+
6#include "../SinricProNamespace.h"
+
7namespace SINRICPRO_NAMESPACE {
+
8
+
9FSTR(CONTACT, setContactState); // "setContactState"
+
10FSTR(CONTACT, state); // "state"
+
11FSTR(CONTACT, closed); // "closed"
+
12FSTR(CONTACT, open); // "open"
+
13
+
18template <typename T>
+
+ +
20 public:
+ +
+ +
23 private:
+
24 EventLimiter event_limiter;
+
25};
+
26
+
27template <typename T>
+ +
29: event_limiter(EVENT_LIMIT_SENSOR_STATE) {}
+
30
+
39template <typename T>
+
+ +
41 if (event_limiter) return false;
+
42 T* device = static_cast<T*>(this);
+
43
+ + + +
47 return device->sendEvent(eventMessage);
+
48}
+
+
+
49
+
50} // SINRICPRO_NAMESPACE
+
51
+
52template <typename T>
+
53using ContactSensor = SINRICPRO_NAMESPACE::ContactSensor<T>;
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
ContactSensor.
Definition ContactSensor.h:19
+
bool sendContactEvent(bool detected, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setContactState event to SinricPro Server indicating actual power state.
Definition ContactSensor.h:40
diff --git a/docs/_door_controller_8h_source.html b/docs/_door_controller_8h_source.html index 5588aad..fe0b3ca 100644 --- a/docs/_door_controller_8h_source.html +++ b/docs/_door_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/DoorController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/DoorController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,99 +81,114 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
DoorController.h
+
DoorController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../EventLimiter.h"
-
5 #include "../SinricProStrings.h"
-
6 
-
7 #include "../SinricProNamespace.h"
-
8 namespace SINRICPRO_NAMESPACE {
-
9 
-
10 FSTR(DOOR, setMode); // "setMode"
-
11 FSTR(DOOR, mode); // "mode"
-
12 FSTR(DOOR, Close); // "Close"
-
13 FSTR(DOOR, Open); // "Open"
-
14 
-
15 
-
29 using DoorCallback = std::function<bool(const String &, bool &)>;
-
30 
-
35 template <typename T>
- -
37  public:
- -
39 
- -
41  bool sendDoorStateEvent(bool state, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
42 
-
43  protected:
-
44  bool handleDoorController(SinricProRequest &request);
-
45 
-
46  private:
-
47  EventLimiter event_limiter;
-
48  DoorCallback doorCallback;
-
49 };
-
50 
-
51 template <typename T>
- -
53 : event_limiter(EVENT_LIMIT_STATE) {
-
54  T* device = static_cast<T*>(this);
-
55  device->registerRequestHandler(std::bind(&DoorController<T>::handleDoorController, this, std::placeholders::_1));
-
56 }
-
57 
-
65 template <typename T>
-
66 void DoorController<T>::onDoorState(DoorCallback cb) { doorCallback = cb; }
-
67 
-
77 template <typename T>
-
78 bool DoorController<T>::sendDoorStateEvent(bool state, String cause) {
-
79  if (event_limiter) return false;
-
80  T* device = static_cast<T*>(this);
-
81 
-
82  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_DOOR_setMode, cause.c_str());
-
83  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
84  state ? event_value[FSTR_DOOR_mode] = FSTR_DOOR_Close : event_value[FSTR_DOOR_mode] = FSTR_DOOR_Open;
-
85  return device->sendEvent(eventMessage);
-
86 }
-
87 
-
88 template <typename T>
-
89 bool DoorController<T>::handleDoorController(SinricProRequest &request) {
-
90  T* device = static_cast<T*>(this);
-
91 
-
92  bool success = false;
-
93  if (request.action == FSTR_DOOR_setMode && doorCallback) {
-
94  String mode = request.request_value[FSTR_DOOR_mode] | "";
-
95  bool state = mode == FSTR_DOOR_Close;
-
96  success = doorCallback(device->deviceId, state);
-
97  request.response_value[FSTR_DOOR_mode] = state ? FSTR_DOOR_Close : FSTR_DOOR_Open;
-
98  }
-
99  return success;
-
100 }
-
101 
-
102 } // SINRICPRO_NAMESPACE
-
103 
-
104 template <typename T>
-
105 using DoorController = SINRICPRO_NAMESPACE::DoorController<T>;
-
DoorController - only used for GarageDoor device and cannot used as capability for a custom device!
Definition: DoorController.h:36
-
bool sendDoorStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send DoorState event to update actual door state on SinricPro Server.
Definition: DoorController.h:78
-
void onDoorState(DoorCallback cb)
Set callback function for onDoorState request.
Definition: DoorController.h:66
-
std::function< bool(const String &, bool &)> DoorCallback
Callback definition for onDoorState function.
Definition: DoorController.h:29
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../EventLimiter.h"
+
5#include "../SinricProStrings.h"
+
6
+
7#include "../SinricProNamespace.h"
+
8namespace SINRICPRO_NAMESPACE {
+
9
+
10FSTR(DOOR, setMode); // "setMode"
+
11FSTR(DOOR, mode); // "mode"
+
12FSTR(DOOR, Close); // "Close"
+
13FSTR(DOOR, Open); // "Open"
+
14
+
15
+
29using DoorCallback = std::function<bool(const String &, bool &)>;
+
30
+
35template <typename T>
+
+ +
37 public:
+ +
39
+
+ +
+ +
42
+
43 protected:
+
44 bool handleDoorController(SinricProRequest &request);
+
45
+
46 private:
+
47 EventLimiter event_limiter;
+
48 DoorCallback doorCallback;
+
49};
+
50
+
51template <typename T>
+ +
53: event_limiter(EVENT_LIMIT_STATE) {
+
54 T* device = static_cast<T*>(this);
+
55 device->registerRequestHandler(std::bind(&DoorController<T>::handleDoorController, this, std::placeholders::_1));
+
56}
+
57
+
65template <typename T>
+ +
67
+
77template <typename T>
+
+ +
79 if (event_limiter) return false;
+
80 T* device = static_cast<T*>(this);
+
81
+ + + +
85 return device->sendEvent(eventMessage);
+
86}
+
+
+
87
+
88template <typename T>
+ +
90 T* device = static_cast<T*>(this);
+
91
+
92 bool success = false;
+
93 if (request.action == FSTR_DOOR_setMode && doorCallback) {
+
94 String mode = request.request_value[FSTR_DOOR_mode] | "";
+
95 bool state = mode == FSTR_DOOR_Close;
+
96 success = doorCallback(device->deviceId, state);
+ +
98 }
+
99 return success;
+
100}
+
101
+
102} // SINRICPRO_NAMESPACE
+
103
+
104template <typename T>
+
105using DoorController = SINRICPRO_NAMESPACE::DoorController<T>;
+
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
DoorController - only used for GarageDoor device and cannot used as capability for a custom device!
Definition DoorController.h:36
+
bool sendDoorStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send DoorState event to update actual door state on SinricPro Server.
Definition DoorController.h:78
+
void onDoorState(DoorCallback cb)
Set callback function for onDoorState request.
Definition DoorController.h:66
+
std::function< bool(const String &, bool &)> DoorCallback
Callback definition for onDoorState function.
Definition DoorController.h:29
diff --git a/docs/_doorbell_8h_source.html b/docs/_doorbell_8h_source.html index f19f8ca..a8f63ba 100644 --- a/docs/_doorbell_8h_source.html +++ b/docs/_doorbell_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/Doorbell.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/Doorbell.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,65 +81,78 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
Doorbell.h
+
Doorbell.h
-
1 #pragma once
-
2 
-
3 #include "../EventLimiter.h"
-
4 #include "../SinricProStrings.h"
-
5 
-
6 #include "../SinricProNamespace.h"
-
7 namespace SINRICPRO_NAMESPACE {
-
8 
-
9 FSTR(DOORBELL, DoorbellPress); // "DoorbellPress"
-
10 FSTR(DOORBELL, state); // "state"
-
11 FSTR(DOORBELL, pressed); // "pressed"
-
12 
-
17 template <typename T>
-
18 class Doorbell {
-
19  public:
-
20  Doorbell();
-
21  bool sendDoorbellEvent(String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
22  private:
-
23  EventLimiter event_limiter;
-
24 };
-
25 
-
26 template <typename T>
- -
28 : event_limiter(EVENT_LIMIT_SENSOR_STATE) {}
-
29 
-
38 template <typename T>
-
39 bool Doorbell<T>::sendDoorbellEvent(String cause) {
-
40  if (event_limiter) return false;
-
41  T* device = static_cast<T*>(this);
-
42 
-
43  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_DOORBELL_DoorbellPress, cause.c_str());
-
44  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
45  event_value[FSTR_DOORBELL_state] = FSTR_DOORBELL_pressed;
-
46  return device->sendEvent(eventMessage);
-
47 }
-
48 
-
49 } // SINRICPRO_NAMESPACE
-
50 
-
51 template <typename T>
-
52 using Doorbell = SINRICPRO_NAMESPACE::Doorbell<T>;
-
Dorbell.
Definition: Doorbell.h:18
-
bool sendDoorbellEvent(String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send Doorbell event to SinricPro Server indicating someone pressed the doorbell button.
Definition: Doorbell.h:39
+
1#pragma once
+
2
+
3#include "../EventLimiter.h"
+
4#include "../SinricProStrings.h"
+
5
+
6#include "../SinricProNamespace.h"
+
7namespace SINRICPRO_NAMESPACE {
+
8
+
9FSTR(DOORBELL, DoorbellPress); // "DoorbellPress"
+
10FSTR(DOORBELL, state); // "state"
+
11FSTR(DOORBELL, pressed); // "pressed"
+
12
+
17template <typename T>
+
+
18class Doorbell {
+
19 public:
+
20 Doorbell();
+
+ +
22 private:
+
23 EventLimiter event_limiter;
+
24};
+
25
+
26template <typename T>
+ +
28: event_limiter(EVENT_LIMIT_SENSOR_STATE) {}
+
29
+
38template <typename T>
+
+ +
40 if (event_limiter) return false;
+
41 T* device = static_cast<T*>(this);
+
42
+ + + +
46 return device->sendEvent(eventMessage);
+
47}
+
+
+
48
+
49} // SINRICPRO_NAMESPACE
+
50
+
51template <typename T>
+
52using Doorbell = SINRICPRO_NAMESPACE::Doorbell<T>;
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
Dorbell.
Definition Doorbell.h:18
+
bool sendDoorbellEvent(String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send Doorbell event to SinricPro Server indicating someone pressed the doorbell button.
Definition Doorbell.h:39
diff --git a/docs/_equalizer_controller_8h_source.html b/docs/_equalizer_controller_8h_source.html index d69f6b6..ffc125a 100644 --- a/docs/_equalizer_controller_8h_source.html +++ b/docs/_equalizer_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/EqualizerController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/EqualizerController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,168 +81,187 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
EqualizerController.h
+
EqualizerController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../EventLimiter.h"
-
5 #include "../SinricProStrings.h"
-
6 
-
7 #include "../SinricProNamespace.h"
-
8 namespace SINRICPRO_NAMESPACE {
-
9 
-
10 FSTR(EQUALIZER, setBands); // "setBands"
-
11 FSTR(EQUALIZER, bands); // "bands"
-
12 FSTR(EQUALIZER, name); // "name"
-
13 FSTR(EQUALIZER, value); // "value"
-
14 FSTR(EQUALIZER, level); // "level"
-
15 FSTR(EQUALIZER, adjustBands); // "adjustBands"
-
16 FSTR(EQUALIZER, levelDelta); // "levelDelta"
-
17 FSTR(EQUALIZER, levelDirection); // "levelDirection"
-
18 FSTR(EQUALIZER, DOWN); // "DOWN"
-
19 FSTR(EQUALIZER, resetBands); // "resetBands"
-
20 
-
37 using SetBandsCallback = std::function<bool(const String &, const String &, int &)>;
-
38 
-
55 using AdjustBandsCallback = std::function<bool(const String &, const String &, int &)>;
-
56 
-
72 using ResetBandsCallback = std::function<bool(const String &, const String &, int &)>;
-
73 
-
78 template <typename T>
- -
80 public:
- -
82 
- - - -
86 
-
87  bool sendBandsEvent(String bands, int level, String cause = "PHYSICAL_INTERACTION");
-
88 
-
89 protected:
-
90  bool handleEqualizerController(SinricProRequest &request);
-
91 
-
92 private:
-
93  EventLimiter event_limiter;
-
94  SetBandsCallback setBandsCallback;
-
95  AdjustBandsCallback adjustBandsCallback;
-
96  ResetBandsCallback resetBandsCallback;
-
97 };
-
98 
-
99 template <typename T>
- -
101 : event_limiter(EVENT_LIMIT_STATE) {
-
102  T* device = static_cast<T*>(this);
-
103  device->registerRequestHandler(std::bind(&EqualizerController<T>::handleEqualizerController, this, std::placeholders::_1));
-
104 }
-
105 
-
113 template <typename T>
-
114 void EqualizerController<T>::onSetBands(SetBandsCallback cb) { setBandsCallback = cb; }
-
115 
-
123 template <typename T>
-
124 void EqualizerController<T>::onAdjustBands(AdjustBandsCallback cb) { adjustBandsCallback = cb; }
-
125 
-
133 template <typename T>
-
134 void EqualizerController<T>::onResetBands(ResetBandsCallback cb) { resetBandsCallback = cb; }
-
135 
-
146 template <typename T>
-
147 bool EqualizerController<T>::sendBandsEvent(String bands, int level, String cause) {
-
148  if (event_limiter) return false;
-
149  T* device = static_cast<T*>(this);
-
150 
-
151  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_EQUALIZER_setBands, cause.c_str());
-
152  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
153  JsonArray event_value_bands = event_value.createNestedArray(FSTR_EQUALIZER_bands);
-
154  JsonObject event_bands = event_value_bands.createNestedObject();
-
155  event_bands[FSTR_EQUALIZER_name] = bands;
-
156  event_bands[FSTR_EQUALIZER_value] = level;
-
157  return device->sendEvent(eventMessage);
-
158 }
-
159 
-
160 template <typename T>
-
161 bool EqualizerController<T>::handleEqualizerController(SinricProRequest &request) {
-
162  T* device = static_cast<T*>(this);
-
163  bool success = false;
-
164 
-
165  if (setBandsCallback && request.action == FSTR_EQUALIZER_setBands) {
-
166  JsonArray bands_array = request.request_value[FSTR_EQUALIZER_bands];
-
167  JsonArray response_value_bands = request.response_value.createNestedArray(FSTR_EQUALIZER_bands);
-
168 
-
169  for (size_t i = 0; i < bands_array.size(); i++) {
-
170  int level = bands_array[i][FSTR_EQUALIZER_level] | 0;
-
171  String bandsName = bands_array[i][FSTR_EQUALIZER_name] | "";
-
172  success = setBandsCallback(device->deviceId, bandsName, level);
-
173  JsonObject response_value_bands_i = response_value_bands.createNestedObject();
-
174  response_value_bands_i[FSTR_EQUALIZER_name] = bandsName;
-
175  response_value_bands_i[FSTR_EQUALIZER_level] = level;
-
176  }
-
177  return success;
-
178  }
-
179 
-
180  if (adjustBandsCallback && request.action == FSTR_EQUALIZER_adjustBands) {
-
181  JsonArray bands_array = request.request_value[FSTR_EQUALIZER_bands];
-
182  JsonArray response_value_bands = request.response_value.createNestedArray(FSTR_EQUALIZER_bands);
-
183 
-
184  for (size_t i = 0; i < bands_array.size(); i++) {
-
185  int levelDelta = bands_array[i][FSTR_EQUALIZER_levelDelta] | 1;
-
186  String direction = bands_array[i][FSTR_EQUALIZER_levelDirection];
-
187  if (direction == FSTR_EQUALIZER_DOWN)
-
188  levelDelta *= -1;
-
189  String bandsName = bands_array[i][FSTR_EQUALIZER_name] | "";
-
190  success = adjustBandsCallback(device->deviceId, bandsName, levelDelta);
-
191  JsonObject response_value_bands_i = response_value_bands.createNestedObject();
-
192  response_value_bands_i[FSTR_EQUALIZER_name] = bandsName;
-
193  response_value_bands_i[FSTR_EQUALIZER_level] = levelDelta;
-
194  }
-
195  return success;
-
196  }
-
197 
-
198  if (resetBandsCallback && request.action == FSTR_EQUALIZER_resetBands) {
-
199  JsonArray bands_array = request.request_value[FSTR_EQUALIZER_bands];
-
200  JsonArray response_value_bands = request.response_value.createNestedArray(FSTR_EQUALIZER_bands);
-
201 
-
202  for (size_t i = 0; i < bands_array.size(); i++) {
-
203  int level = 0;
-
204  String bandsName = bands_array[i][FSTR_EQUALIZER_name] | "";
-
205  success = adjustBandsCallback(device->deviceId, bandsName, level);
-
206  JsonObject response_value_bands_i = response_value_bands.createNestedObject();
-
207  response_value_bands_i[FSTR_EQUALIZER_name] = bandsName;
-
208  response_value_bands_i[FSTR_EQUALIZER_level] = level;
-
209  }
-
210  return success;
-
211  }
-
212 
-
213  return success;
-
214 }
-
215 
-
216 } // SINRICPRO_NAMESPACE
-
217 
-
218 template <typename T>
-
219 using EqualizerController = SINRICPRO_NAMESPACE::EqualizerController<T>;
-
EqualizerController.
Definition: EqualizerController.h:79
-
void onAdjustBands(AdjustBandsCallback cb)
Set callback function for adjustBands request.
Definition: EqualizerController.h:124
-
void onSetBands(SetBandsCallback cb)
Set callback function for setBands request.
Definition: EqualizerController.h:114
-
bool sendBandsEvent(String bands, int level, String cause="PHYSICAL_INTERACTION")
Send setBands event to SinricPro Server indicating bands level has changed.
Definition: EqualizerController.h:147
-
void onResetBands(ResetBandsCallback cb)
Set callback function for resetBands request.
Definition: EqualizerController.h:134
-
std::function< bool(const String &, const String &, int &)> AdjustBandsCallback
Callback definition for onAdjustBands function.
Definition: EqualizerController.h:55
-
std::function< bool(const String &, const String &, int &)> ResetBandsCallback
Callback definition for onResetBands function.
Definition: EqualizerController.h:72
-
std::function< bool(const String &, const String &, int &)> SetBandsCallback
Callback definition for onSetBands function.
Definition: EqualizerController.h:37
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../EventLimiter.h"
+
5#include "../SinricProStrings.h"
+
6
+
7#include "../SinricProNamespace.h"
+
8namespace SINRICPRO_NAMESPACE {
+
9
+
10FSTR(EQUALIZER, setBands); // "setBands"
+
11FSTR(EQUALIZER, bands); // "bands"
+
12FSTR(EQUALIZER, name); // "name"
+
13FSTR(EQUALIZER, value); // "value"
+
14FSTR(EQUALIZER, level); // "level"
+
15FSTR(EQUALIZER, adjustBands); // "adjustBands"
+
16FSTR(EQUALIZER, levelDelta); // "levelDelta"
+
17FSTR(EQUALIZER, levelDirection); // "levelDirection"
+
18FSTR(EQUALIZER, DOWN); // "DOWN"
+
19FSTR(EQUALIZER, resetBands); // "resetBands"
+
20
+
37using SetBandsCallback = std::function<bool(const String &, const String &, int &)>;
+
38
+
55using AdjustBandsCallback = std::function<bool(const String &, const String &, int &)>;
+
56
+
72using ResetBandsCallback = std::function<bool(const String &, const String &, int &)>;
+
73
+
78template <typename T>
+
+ +
80public:
+ +
82
+
+ +
+ +
+ +
86
+
+
87 bool sendBandsEvent(String bands, int level, String cause = "PHYSICAL_INTERACTION");
+
88
+
89protected:
+
90 bool handleEqualizerController(SinricProRequest &request);
+
91
+
92private:
+
93 EventLimiter event_limiter;
+
94 SetBandsCallback setBandsCallback;
+
95 AdjustBandsCallback adjustBandsCallback;
+
96 ResetBandsCallback resetBandsCallback;
+
97};
+
98
+
99template <typename T>
+ +
101: event_limiter(EVENT_LIMIT_STATE) {
+
102 T* device = static_cast<T*>(this);
+
103 device->registerRequestHandler(std::bind(&EqualizerController<T>::handleEqualizerController, this, std::placeholders::_1));
+
104}
+
105
+
113template <typename T>
+ +
115
+
123template <typename T>
+ +
125
+
133template <typename T>
+ +
135
+
146template <typename T>
+
+ +
148 if (event_limiter) return false;
+
149 T* device = static_cast<T*>(this);
+
150
+ + + +
154 JsonObject event_bands = event_value_bands.createNestedObject();
+ + +
157 return device->sendEvent(eventMessage);
+
158}
+
+
+
159
+
160template <typename T>
+ +
162 T* device = static_cast<T*>(this);
+
163 bool success = false;
+
164
+
165 if (setBandsCallback && request.action == FSTR_EQUALIZER_setBands) {
+ +
167 JsonArray response_value_bands = request.response_value.createNestedArray(FSTR_EQUALIZER_bands);
+
168
+
169 for (size_t i = 0; i < bands_array.size(); i++) {
+ + +
172 success = setBandsCallback(device->deviceId, bandsName, level);
+ + + +
176 }
+
177 return success;
+
178 }
+
179
+
180 if (adjustBandsCallback && request.action == FSTR_EQUALIZER_adjustBands) {
+
181 JsonArray bands_array = request.request_value[FSTR_EQUALIZER_bands];
+
182 JsonArray response_value_bands = request.response_value.createNestedArray(FSTR_EQUALIZER_bands);
+
183
+
184 for (size_t i = 0; i < bands_array.size(); i++) {
+
185 int levelDelta = bands_array[i][FSTR_EQUALIZER_levelDelta] | 1;
+
186 String direction = bands_array[i][FSTR_EQUALIZER_levelDirection];
+
187 if (direction == FSTR_EQUALIZER_DOWN)
+
188 levelDelta *= -1;
+
189 String bandsName = bands_array[i][FSTR_EQUALIZER_name] | "";
+
190 success = adjustBandsCallback(device->deviceId, bandsName, levelDelta);
+
191 JsonObject response_value_bands_i = response_value_bands.createNestedObject();
+
192 response_value_bands_i[FSTR_EQUALIZER_name] = bandsName;
+
193 response_value_bands_i[FSTR_EQUALIZER_level] = levelDelta;
+
194 }
+
195 return success;
+
196 }
+
197
+
198 if (resetBandsCallback && request.action == FSTR_EQUALIZER_resetBands) {
+
199 JsonArray bands_array = request.request_value[FSTR_EQUALIZER_bands];
+
200 JsonArray response_value_bands = request.response_value.createNestedArray(FSTR_EQUALIZER_bands);
+
201
+
202 for (size_t i = 0; i < bands_array.size(); i++) {
+
203 int level = 0;
+
204 String bandsName = bands_array[i][FSTR_EQUALIZER_name] | "";
+
205 success = adjustBandsCallback(device->deviceId, bandsName, level);
+
206 JsonObject response_value_bands_i = response_value_bands.createNestedObject();
+
207 response_value_bands_i[FSTR_EQUALIZER_name] = bandsName;
+
208 response_value_bands_i[FSTR_EQUALIZER_level] = level;
+
209 }
+
210 return success;
+
211 }
+
212
+
213 return success;
+
214}
+
215
+
216} // SINRICPRO_NAMESPACE
+
217
+
218template <typename T>
+
219using EqualizerController = SINRICPRO_NAMESPACE::EqualizerController<T>;
+
+
+
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
EqualizerController.
Definition EqualizerController.h:79
+
void onAdjustBands(AdjustBandsCallback cb)
Set callback function for adjustBands request.
Definition EqualizerController.h:124
+
void onSetBands(SetBandsCallback cb)
Set callback function for setBands request.
Definition EqualizerController.h:114
+
bool sendBandsEvent(String bands, int level, String cause="PHYSICAL_INTERACTION")
Send setBands event to SinricPro Server indicating bands level has changed.
Definition EqualizerController.h:147
+
void onResetBands(ResetBandsCallback cb)
Set callback function for resetBands request.
Definition EqualizerController.h:134
+
std::function< bool(const String &, const String &, int &)> AdjustBandsCallback
Callback definition for onAdjustBands function.
Definition EqualizerController.h:55
+
std::function< bool(const String &, const String &, int &)> ResetBandsCallback
Callback definition for onResetBands function.
Definition EqualizerController.h:72
+
std::function< bool(const String &, const String &, int &)> SetBandsCallback
Callback definition for onSetBands function.
Definition EqualizerController.h:37
diff --git a/docs/_event_limiter_8h_source.html b/docs/_event_limiter_8h_source.html index 40bd341..ebde08b 100644 --- a/docs/_event_limiter_8h_source.html +++ b/docs/_event_limiter_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/EventLimiter.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/EventLimiter.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,76 +81,85 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
EventLimiter.h
+
EventLimiter.h
-
1 #pragma once
-
2 
-
3 #include "SinricProConfig.h"
-
4 #include "SinricProNamespace.h"
-
5 
-
6 namespace SINRICPRO_NAMESPACE {
-
7 
-
8 class EventLimiter {
-
9  public:
-
10  EventLimiter(unsigned long minimum_distance = 1000);
-
11  operator bool();
-
12  private:
-
13  unsigned long minimum_distance;
-
14  unsigned long next_event;
-
15  unsigned long extra_distance;
-
16  unsigned long fail_counter;
-
17 };
-
18 
-
19 EventLimiter::EventLimiter(unsigned long minimum_distance)
-
20 : minimum_distance(minimum_distance)
-
21 , next_event(0)
-
22 , extra_distance(0)
-
23 , fail_counter(0) {}
-
24 
-
25 EventLimiter::operator bool() {
-
26  unsigned long current_millis = millis();
-
27  unsigned long fail_threshold = (minimum_distance / 4);
-
28 
-
29  if ( current_millis >= next_event ) {
-
30 
-
31  if ( fail_counter > fail_threshold ) {
-
32 
-
33  extra_distance += minimum_distance;
-
34  fail_counter = 0;
-
35 
-
36  } else {
-
37 
-
38  extra_distance = 0;
-
39 
-
40  }
-
41 
-
42  next_event = current_millis + minimum_distance + extra_distance;
-
43  return false;
-
44 
-
45  }
-
46 
-
47  fail_counter++;
-
48  if (fail_counter == fail_threshold) Serial.printf("WARNING: YOUR CODE SENDS EXCESSIVE EVENTS! EVENTS ARE NOW LIMITED BY AN ADDITIONAL DELAY OF %lu SECONDS. PLEASE CHECK YOUR CODE!\r\n", extra_distance / 1000);
-
49 
-
50  return true;
-
51 }
-
52 
-
53 } // SINRICPRO_NAMESPACE
+
1#pragma once
+
2
+
3#include "SinricProConfig.h"
+
4#include "SinricProNamespace.h"
+
5
+
+
6namespace SINRICPRO_NAMESPACE {
+
7
+
8class EventLimiter {
+
9 public:
+
10 EventLimiter(unsigned long minimum_distance = 1000);
+
11 operator bool();
+
12 private:
+
13 unsigned long minimum_distance;
+
14 unsigned long next_event;
+
15 unsigned long extra_distance;
+
16 unsigned long fail_counter;
+
17};
+
18
+
19EventLimiter::EventLimiter(unsigned long minimum_distance)
+
20: minimum_distance(minimum_distance)
+
21, next_event(0)
+
22, extra_distance(0)
+
23, fail_counter(0) {}
+
24
+
25EventLimiter::operator bool() {
+
26 unsigned long current_millis = millis();
+
27 unsigned long fail_threshold = (minimum_distance / 4);
+
28
+
29 if ( current_millis >= next_event ) {
+
30
+
31 if ( fail_counter > fail_threshold ) {
+
32
+
33 extra_distance += minimum_distance;
+
34 fail_counter = 0;
+
35
+
36 } else {
+
37
+
38 extra_distance = 0;
+
39
+
40 }
+
41
+
42 next_event = current_millis + minimum_distance + extra_distance;
+
43 return false;
+
44
+
45 }
+
46
+
47 fail_counter++;
+
48 if (fail_counter == fail_threshold) Serial.printf("WARNING: YOUR CODE SENDS EXCESSIVE EVENTS! EVENTS ARE NOW LIMITED BY AN ADDITIONAL DELAY OF %lu SECONDS. PLEASE CHECK YOUR CODE!\r\n", extra_distance / 1000);
+
49
+
50 return true;
+
51}
+
52
+
53} // SINRICPRO_NAMESPACE
+
+
AirQuality.
Definition AirQualitySensor.h:19
diff --git a/docs/_input_controller_8h_source.html b/docs/_input_controller_8h_source.html index 7c18d5b..a81c4c7 100644 --- a/docs/_input_controller_8h_source.html +++ b/docs/_input_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/InputController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/InputController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,101 +81,118 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
InputController.h
+
InputController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../EventLimiter.h"
-
5 #include "../SinricProStrings.h"
-
6 
-
7 #include "../SinricProNamespace.h"
-
8 namespace SINRICPRO_NAMESPACE {
-
9 
-
10 FSTR(INPUT, selectInput); // "selectInput"
-
11 FSTR(INPUT, input); // "input"
-
12 
-
27 using SelectInputCallback = std::function<bool(const String &, String &)>;
-
28 
-
29 
-
34 template <typename T>
- -
36  public:
- -
38 
- -
40  bool sendSelectInputEvent(String intput, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
41 
-
42  protected:
-
43  bool handleInputController(SinricProRequest &request);
-
44 
-
45  private:
-
46  EventLimiter event_limiter;
-
47  SelectInputCallback selectInputCallback;
-
48 };
-
49 
-
50 template <typename T>
- -
52 : event_limiter(EVENT_LIMIT_STATE) {
-
53  T* device = static_cast<T*>(this);
-
54  device->registerRequestHandler(std::bind(&InputController<T>::handleInputController, this, std::placeholders::_1));
-
55 }
-
56 
-
64 template <typename T>
- -
66  selectInputCallback = cb;
-
67 }
-
68 
-
78 template <typename T>
-
79 bool InputController<T>::sendSelectInputEvent(String input, String cause) {
-
80  if (event_limiter) return false;
-
81  T* device = static_cast<T*>(this);
-
82 
-
83  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_INPUT_selectInput, cause.c_str());
-
84  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
85  event_value[FSTR_INPUT_input] = input;
-
86  return device->sendEvent(eventMessage);
-
87 }
-
88 
-
89 template <typename T>
-
90 bool InputController<T>::handleInputController(SinricProRequest &request) {
-
91  T* device = static_cast<T*>(this);
-
92 
-
93  bool success = false;
-
94 
-
95  if (selectInputCallback && request.action == FSTR_INPUT_selectInput) {
-
96  String input = request.request_value[FSTR_INPUT_input];
-
97  success = selectInputCallback(device->deviceId, input);
-
98  request.response_value[FSTR_INPUT_input] = input;
-
99  return success;
-
100  }
-
101 
-
102  return success;
-
103 }
-
104 
-
105 } // SINRICPRO_NAMESPACE
-
106 
-
107 template <typename T>
-
108 using InputController = SINRICPRO_NAMESPACE::InputController<T>;
-
InputController.
Definition: InputController.h:35
-
void onSelectInput(SelectInputCallback cb)
Set callback function for selectInput request.
Definition: InputController.h:65
-
bool sendSelectInputEvent(String intput, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send selectInput event to SinricPro Server to report selected input.
Definition: InputController.h:79
-
std::function< bool(const String &, String &)> SelectInputCallback
Callback definition for onSelectInput function.
Definition: InputController.h:27
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../EventLimiter.h"
+
5#include "../SinricProStrings.h"
+
6
+
7#include "../SinricProNamespace.h"
+
8namespace SINRICPRO_NAMESPACE {
+
9
+
10FSTR(INPUT, selectInput); // "selectInput"
+
11FSTR(INPUT, input); // "input"
+
12
+
27using SelectInputCallback = std::function<bool(const String &, String &)>;
+
28
+
29
+
34template <typename T>
+
+ +
36 public:
+ +
38
+
+ +
+ +
41
+
42 protected:
+
43 bool handleInputController(SinricProRequest &request);
+
44
+
45 private:
+
46 EventLimiter event_limiter;
+
47 SelectInputCallback selectInputCallback;
+
48};
+
49
+
50template <typename T>
+ +
52: event_limiter(EVENT_LIMIT_STATE) {
+
53 T* device = static_cast<T*>(this);
+
54 device->registerRequestHandler(std::bind(&InputController<T>::handleInputController, this, std::placeholders::_1));
+
55}
+
56
+
64template <typename T>
+
+ +
66 selectInputCallback = cb;
+
67}
+
+
68
+
78template <typename T>
+
+ +
80 if (event_limiter) return false;
+
81 T* device = static_cast<T*>(this);
+
82
+ + + +
86 return device->sendEvent(eventMessage);
+
87}
+
+
+
88
+
89template <typename T>
+ +
91 T* device = static_cast<T*>(this);
+
92
+
93 bool success = false;
+
94
+
95 if (selectInputCallback && request.action == FSTR_INPUT_selectInput) {
+
96 String input = request.request_value[FSTR_INPUT_input];
+
97 success = selectInputCallback(device->deviceId, input);
+
98 request.response_value[FSTR_INPUT_input] = input;
+
99 return success;
+
100 }
+
101
+
102 return success;
+
103}
+
104
+
105} // SINRICPRO_NAMESPACE
+
106
+
107template <typename T>
+
108using InputController = SINRICPRO_NAMESPACE::InputController<T>;
+
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
InputController.
Definition InputController.h:35
+
void onSelectInput(SelectInputCallback cb)
Set callback function for selectInput request.
Definition InputController.h:65
+
bool sendSelectInputEvent(String intput, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send selectInput event to SinricPro Server to report selected input.
Definition InputController.h:79
+
std::function< bool(const String &, String &)> SelectInputCallback
Callback definition for onSelectInput function.
Definition InputController.h:27
diff --git a/docs/_keypad_controller_8h_source.html b/docs/_keypad_controller_8h_source.html index 1bbc73d..a8405fa 100644 --- a/docs/_keypad_controller_8h_source.html +++ b/docs/_keypad_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/KeypadController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/KeypadController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,84 +81,93 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
KeypadController.h
+
KeypadController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../SinricProStrings.h"
-
5 
-
6 #include "../SinricProNamespace.h"
-
7 namespace SINRICPRO_NAMESPACE {
-
8 
-
9 FSTR(KEYPAD, sendKeystroke); // "sendKeystroke"
-
10 FSTR(KEYPAD, keystroke); // "keystroke"
-
11 
-
26 using KeystrokeCallback = std::function<bool(const String &, String &)>;
-
27 
-
28 
-
33 template <typename T>
- -
35  public:
- -
37 
-
38  void onKeystroke(KeystrokeCallback cb);
-
39 
-
40  protected:
-
41  bool handleKeypadController(SinricProRequest &request);
-
42 
-
43  private:
-
44  KeystrokeCallback keystrokeCallback;
-
45 };
-
46 
-
47 template <typename T>
- -
49  T* device = static_cast<T*>(this);
-
50  device->registerRequestHandler(std::bind(&KeypadController<T>::handleKeypadController, this, std::placeholders::_1));
-
51 }
-
52 
-
60 template <typename T>
-
61 void KeypadController<T>::onKeystroke(KeystrokeCallback cb) { keystrokeCallback = cb; }
-
62 
-
63 
-
64 template <typename T>
-
65 bool KeypadController<T>::handleKeypadController(SinricProRequest &request) {
-
66  T* device = static_cast<T*>(this);
-
67 
-
68  bool success = false;
-
69  if (request.action != FSTR_KEYPAD_sendKeystroke) return false;
-
70 
-
71  if (keystrokeCallback) {
-
72  String keystroke = request.request_value[FSTR_KEYPAD_keystroke] | "";
-
73  success = keystrokeCallback(device->deviceId, keystroke);
-
74  request.response_value[FSTR_KEYPAD_keystroke] = keystroke;
-
75  return success;
-
76  }
-
77 
-
78  return success;
-
79 }
-
80 
-
81 } // SINRICPRO_NAMESPACE
-
82 
-
83 template <typename T>
-
84 using KeypadController = SINRICPRO_NAMESPACE::KeypadController<T>;
-
KeypadController.
Definition: KeypadController.h:34
-
std::function< bool(const String &, String &)> KeystrokeCallback
Callback definition for onKeystroke function.
Definition: KeypadController.h:26
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../SinricProStrings.h"
+
5
+
6#include "../SinricProNamespace.h"
+
7namespace SINRICPRO_NAMESPACE {
+
8
+
9FSTR(KEYPAD, sendKeystroke); // "sendKeystroke"
+
10FSTR(KEYPAD, keystroke); // "keystroke"
+
11
+
26using KeystrokeCallback = std::function<bool(const String &, String &)>;
+
27
+
28
+
33template <typename T>
+
+ +
35 public:
+ +
37
+
38 void onKeystroke(KeystrokeCallback cb);
+
39
+
40 protected:
+
41 bool handleKeypadController(SinricProRequest &request);
+
42
+
43 private:
+
44 KeystrokeCallback keystrokeCallback;
+
45};
+
+
46
+
47template <typename T>
+ +
49 T* device = static_cast<T*>(this);
+
50 device->registerRequestHandler(std::bind(&KeypadController<T>::handleKeypadController, this, std::placeholders::_1));
+
51}
+
52
+
60template <typename T>
+ +
62
+
63
+
64template <typename T>
+ +
66 T* device = static_cast<T*>(this);
+
67
+
68 bool success = false;
+
69 if (request.action != FSTR_KEYPAD_sendKeystroke) return false;
+
70
+
71 if (keystrokeCallback) {
+
72 String keystroke = request.request_value[FSTR_KEYPAD_keystroke] | "";
+
73 success = keystrokeCallback(device->deviceId, keystroke);
+
74 request.response_value[FSTR_KEYPAD_keystroke] = keystroke;
+
75 return success;
+
76 }
+
77
+
78 return success;
+
79}
+
80
+
81} // SINRICPRO_NAMESPACE
+
82
+
83template <typename T>
+
84using KeypadController = SINRICPRO_NAMESPACE::KeypadController<T>;
+
AirQuality.
Definition AirQualitySensor.h:19
+
KeypadController.
Definition KeypadController.h:34
+
std::function< bool(const String &, String &)> KeystrokeCallback
Callback definition for onKeystroke function.
Definition KeypadController.h:26
diff --git a/docs/_lock_controller_8h_source.html b/docs/_lock_controller_8h_source.html index 55f37e2..07a80be 100644 --- a/docs/_lock_controller_8h_source.html +++ b/docs/_lock_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/LockController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/LockController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,104 +81,121 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
LockController.h
+
LockController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../EventLimiter.h"
-
5 #include "../SinricProStrings.h"
-
6 
-
7 #include "../SinricProNamespace.h"
-
8 namespace SINRICPRO_NAMESPACE {
-
9 
-
10 FSTR(LOCK, setLockState); // "setLockState"
-
11 FSTR(LOCK, state); // "state"
-
12 FSTR(LOCK, LOCKED); // "LOCKED"
-
13 FSTR(LOCK, UNLOCKED); // "UNLOCKED"
-
14 FSTR(LOCK, lock); // "lock"
-
15 FSTR(LOCK, JAMMED); // "JAMMED"
-
16 
-
36 using LockStateCallback = std::function<bool(const String &, bool &)>; // void onLockState(const DeviceId &deviceId, bool& lockState);
-
37 
-
38 
-
43 template <typename T>
- -
45  public:
- -
47 
- -
49  bool sendLockStateEvent(bool state, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
50 
-
51  protected:
-
52  bool handleLockController(SinricProRequest &request);
-
53 
-
54  private:
-
55  EventLimiter event_limiter;
-
56  LockStateCallback lockStateCallback;
-
57 };
-
58 
-
59 template <typename T>
- -
61 : event_limiter(EVENT_LIMIT_STATE) {
-
62  T* device = static_cast<T*>(this);
-
63  device->registerRequestHandler(std::bind(&LockController<T>::handleLockController, this, std::placeholders::_1));
-
64 }
-
65 
-
73 template <typename T>
- -
75  lockStateCallback = cb;
-
76 }
-
77 
-
87 template <typename T>
-
88 bool LockController<T>::sendLockStateEvent(bool state, String cause) {
-
89  if (event_limiter) return false;
-
90  T* device = static_cast<T*>(this);
-
91 
-
92  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_LOCK_setLockState, cause.c_str());
-
93  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
94  state ? event_value[FSTR_LOCK_state] = FSTR_LOCK_LOCKED : event_value[FSTR_LOCK_state] = FSTR_LOCK_UNLOCKED;
-
95  return device->sendEvent(eventMessage);
-
96 }
-
97 
-
98 template <typename T>
-
99 bool LockController<T>::handleLockController(SinricProRequest &request) {
-
100  T* device = static_cast<T*>(this);
-
101 
-
102  bool success = false;
-
103 
-
104  if (request.action == FSTR_LOCK_setLockState && lockStateCallback) {
-
105  bool lockState = request.request_value[FSTR_LOCK_state] == FSTR_LOCK_lock ? true : false;
-
106  success = lockStateCallback(device->deviceId, lockState);
-
107  request.response_value[FSTR_LOCK_state] = success ? lockState ? FSTR_LOCK_LOCKED : FSTR_LOCK_UNLOCKED : FSTR_LOCK_JAMMED;
-
108  return success;
-
109  }
-
110  return success;
-
111 }
-
112 
-
113 } // SINRICPRO_NAMESPACE
-
114 
-
115 template <typename T>
-
116 using LockController = SINRICPRO_NAMESPACE::LockController<T>;
-
LockController.
Definition: LockController.h:44
-
bool sendLockStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send lockState event to SinricPro Server indicating actual lock state.
Definition: LockController.h:88
-
void onLockState(LockStateCallback cb)
Set callback function for setLockState request.
Definition: LockController.h:74
-
std::function< bool(const String &, bool &)> LockStateCallback
Callback definition for onLockState function.
Definition: LockController.h:36
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../EventLimiter.h"
+
5#include "../SinricProStrings.h"
+
6
+
7#include "../SinricProNamespace.h"
+
8namespace SINRICPRO_NAMESPACE {
+
9
+
10FSTR(LOCK, setLockState); // "setLockState"
+
11FSTR(LOCK, state); // "state"
+
12FSTR(LOCK, LOCKED); // "LOCKED"
+
13FSTR(LOCK, UNLOCKED); // "UNLOCKED"
+
14FSTR(LOCK, lock); // "lock"
+
15FSTR(LOCK, JAMMED); // "JAMMED"
+
16
+
36using LockStateCallback = std::function<bool(const String &, bool &)>; // void onLockState(const DeviceId &deviceId, bool& lockState);
+
37
+
38
+
43template <typename T>
+
+ +
45 public:
+ +
47
+
+ +
+ +
50
+
51 protected:
+
52 bool handleLockController(SinricProRequest &request);
+
53
+
54 private:
+
55 EventLimiter event_limiter;
+
56 LockStateCallback lockStateCallback;
+
57};
+
58
+
59template <typename T>
+ +
61: event_limiter(EVENT_LIMIT_STATE) {
+
62 T* device = static_cast<T*>(this);
+
63 device->registerRequestHandler(std::bind(&LockController<T>::handleLockController, this, std::placeholders::_1));
+
64}
+
65
+
73template <typename T>
+
+ +
75 lockStateCallback = cb;
+
76}
+
+
77
+
87template <typename T>
+
+ +
89 if (event_limiter) return false;
+
90 T* device = static_cast<T*>(this);
+
91
+ + + +
95 return device->sendEvent(eventMessage);
+
96}
+
+
+
97
+
98template <typename T>
+ +
100 T* device = static_cast<T*>(this);
+
101
+
102 bool success = false;
+
103
+
104 if (request.action == FSTR_LOCK_setLockState && lockStateCallback) {
+
105 bool lockState = request.request_value[FSTR_LOCK_state] == FSTR_LOCK_lock ? true : false;
+
106 success = lockStateCallback(device->deviceId, lockState);
+ +
108 return success;
+
109 }
+
110 return success;
+
111}
+
112
+
113} // SINRICPRO_NAMESPACE
+
114
+
115template <typename T>
+
116using LockController = SINRICPRO_NAMESPACE::LockController<T>;
+
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
LockController.
Definition LockController.h:44
+
bool sendLockStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send lockState event to SinricPro Server indicating actual lock state.
Definition LockController.h:88
+
void onLockState(LockStateCallback cb)
Set callback function for setLockState request.
Definition LockController.h:74
+
std::function< bool(const String &, bool &)> LockStateCallback
Callback definition for onLockState function.
Definition LockController.h:36
diff --git a/docs/_media_controller_8h_source.html b/docs/_media_controller_8h_source.html index 5785c37..e95a24a 100644 --- a/docs/_media_controller_8h_source.html +++ b/docs/_media_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/MediaController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/MediaController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,101 +81,118 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
MediaController.h
+
MediaController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../EventLimiter.h"
-
5 #include "../SinricProStrings.h"
-
6 
-
7 #include "../SinricProNamespace.h"
-
8 namespace SINRICPRO_NAMESPACE {
-
9 
-
10 FSTR(MEDIA, mediaControl); // "mediaControl"
-
11 FSTR(MEDIA, control); // "control"
-
12 
-
27 using MediaControlCallback = std::function<bool(const String &, String &)>;
-
28 
-
29 
-
34 template <typename T>
- -
36  public:
- -
38 
- -
40  bool sendMediaControlEvent(String mediaControl, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
41 
-
42  protected:
-
43  bool handleMediaController(SinricProRequest &request);
-
44 
-
45  private:
-
46  EventLimiter event_limiter;
-
47  MediaControlCallback mediaControlCallback;
-
48 };
-
49 
-
50 template <typename T>
- -
52 : event_limiter(EVENT_LIMIT_STATE) {
-
53  T* device = static_cast<T*>(this);
-
54  device->registerRequestHandler(std::bind(&MediaController<T>::handleMediaController, this, std::placeholders::_1));
-
55 }
-
56 
-
64 template <typename T>
- -
66  mediaControlCallback = cb;
-
67 }
-
68 
-
78 template <typename T>
-
79 bool MediaController<T>::sendMediaControlEvent(String mediaControl, String cause) {
-
80  if (event_limiter) return false;
-
81  T* device = static_cast<T*>(this);
-
82 
-
83  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_MEDIA_mediaControl, cause.c_str());
-
84  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
85  event_value[FSTR_MEDIA_control] = mediaControl;
-
86  return device->sendEvent(eventMessage);
-
87 }
-
88 
-
89 template <typename T>
-
90 bool MediaController<T>::handleMediaController(SinricProRequest &request) {
-
91  T* device = static_cast<T*>(this);
-
92 
-
93  bool success = false;
-
94 
-
95  if (mediaControlCallback && request.action == FSTR_MEDIA_mediaControl) {
-
96  String mediaControl = request.request_value[FSTR_MEDIA_control];
-
97  success = mediaControlCallback(device->deviceId, mediaControl);
-
98  request.response_value[FSTR_MEDIA_control] = mediaControl;
-
99  return success;
-
100  }
-
101 
-
102  return success;
-
103 }
-
104 
-
105 } // SINRICPRO_NAMESPACE
-
106 
-
107 template <typename T>
-
108 using MediaController = SINRICPRO_NAMESPACE::MediaController<T>;
-
MediaController.
Definition: MediaController.h:35
-
bool sendMediaControlEvent(String mediaControl, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send mediaControl event to SinricPro Server indicating devices media control state.
Definition: MediaController.h:79
-
void onMediaControl(MediaControlCallback cb)
Set callback function for mediaControl request.
Definition: MediaController.h:65
-
std::function< bool(const String &, String &)> MediaControlCallback
Callback definition for onMediaControl function.
Definition: MediaController.h:27
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../EventLimiter.h"
+
5#include "../SinricProStrings.h"
+
6
+
7#include "../SinricProNamespace.h"
+
8namespace SINRICPRO_NAMESPACE {
+
9
+
10FSTR(MEDIA, mediaControl); // "mediaControl"
+
11FSTR(MEDIA, control); // "control"
+
12
+
27using MediaControlCallback = std::function<bool(const String &, String &)>;
+
28
+
29
+
34template <typename T>
+
+ +
36 public:
+ +
38
+
+ +
+ +
41
+
42 protected:
+
43 bool handleMediaController(SinricProRequest &request);
+
44
+
45 private:
+
46 EventLimiter event_limiter;
+
47 MediaControlCallback mediaControlCallback;
+
48};
+
49
+
50template <typename T>
+ +
52: event_limiter(EVENT_LIMIT_STATE) {
+
53 T* device = static_cast<T*>(this);
+
54 device->registerRequestHandler(std::bind(&MediaController<T>::handleMediaController, this, std::placeholders::_1));
+
55}
+
56
+
64template <typename T>
+
+ +
66 mediaControlCallback = cb;
+
67}
+
+
68
+
78template <typename T>
+
+ +
80 if (event_limiter) return false;
+
81 T* device = static_cast<T*>(this);
+
82
+ + + +
86 return device->sendEvent(eventMessage);
+
87}
+
+
+
88
+
89template <typename T>
+ +
91 T* device = static_cast<T*>(this);
+
92
+
93 bool success = false;
+
94
+
95 if (mediaControlCallback && request.action == FSTR_MEDIA_mediaControl) {
+
96 String mediaControl = request.request_value[FSTR_MEDIA_control];
+
97 success = mediaControlCallback(device->deviceId, mediaControl);
+
98 request.response_value[FSTR_MEDIA_control] = mediaControl;
+
99 return success;
+
100 }
+
101
+
102 return success;
+
103}
+
104
+
105} // SINRICPRO_NAMESPACE
+
106
+
107template <typename T>
+
108using MediaController = SINRICPRO_NAMESPACE::MediaController<T>;
+
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
MediaController.
Definition MediaController.h:35
+
bool sendMediaControlEvent(String mediaControl, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send mediaControl event to SinricPro Server indicating devices media control state.
Definition MediaController.h:79
+
void onMediaControl(MediaControlCallback cb)
Set callback function for mediaControl request.
Definition MediaController.h:65
+
std::function< bool(const String &, String &)> MediaControlCallback
Callback definition for onMediaControl function.
Definition MediaController.h:27
diff --git a/docs/_mode_controller_8h_source.html b/docs/_mode_controller_8h_source.html index 3c70e07..29e8d03 100644 --- a/docs/_mode_controller_8h_source.html +++ b/docs/_mode_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/ModeController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/ModeController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,139 +81,162 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
ModeController.h
+
ModeController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../EventLimiter.h"
-
5 #include "../SinricProStrings.h"
-
6 
-
7 #include "../SinricProNamespace.h"
-
8 
-
9 namespace SINRICPRO_NAMESPACE {
-
10 
-
11 FSTR(MODE, setMode); // "setMode"
-
12 FSTR(MODE, mode); // "mode"
-
13 
-
28 using ModeCallback = std::function<bool(const String &, String &)>;
-
29 
-
45 using GenericModeCallback = std::function<bool(const String &, const String &, String &)>;
-
46 
-
47 
-
52 template <typename T>
- -
54  public:
- -
56 
- -
58  void onSetMode(const String& instance, GenericModeCallback cb);
-
59 
-
60  bool sendModeEvent(String mode, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
61  bool sendModeEvent(String instance, String mode, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
62 
-
63  protected:
-
64 
-
65  bool handleModeController(SinricProRequest &request);
-
66 
-
67  private:
-
68  EventLimiter event_limiter;
-
69  std::map<String, EventLimiter> event_limiter_generic;
-
70  ModeCallback setModeCallback;
-
71  std::map<String, GenericModeCallback> genericModeCallback;
-
72 };
-
73 
-
74 template <typename T>
- -
76 : event_limiter(EVENT_LIMIT_STATE) {
-
77  T* device = static_cast<T*>(this);
-
78  device->registerRequestHandler(std::bind(&ModeController<T>::handleModeController, this, std::placeholders::_1));
-
79 }
-
80 
-
88 template <typename T>
-
89 void ModeController<T>::onSetMode(ModeCallback cb) { setModeCallback = cb; }
-
90 
-
99 template <typename T>
-
100 void ModeController<T>::onSetMode(const String& instance, GenericModeCallback cb) {
-
101  genericModeCallback[instance] = cb;
-
102 }
-
103 
-
113 template <typename T>
-
114 bool ModeController<T>::sendModeEvent(String mode, String cause) {
-
115  if (event_limiter) return false;
-
116  T* device = static_cast<T*>(this);
-
117 
-
118  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_MODE_setMode, cause.c_str());
-
119  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
120  event_value[FSTR_MODE_mode] = mode;
-
121  return device->sendEvent(eventMessage);
-
122 }
-
123 
-
134 template <typename T>
-
135 bool ModeController<T>::sendModeEvent(String instance, String mode, String cause) {
-
136  if (event_limiter_generic.find(instance) == event_limiter_generic.end()) event_limiter_generic[instance] = EventLimiter(EVENT_LIMIT_STATE);
-
137  if (event_limiter_generic[instance]) return false;
-
138 
-
139  T* device = static_cast<T*>(this);
-
140 
-
141  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_MODE_setMode, cause.c_str());
-
142  eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_instanceId] = instance;
-
143  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
144  event_value[FSTR_MODE_mode] = mode;
-
145  return device->sendEvent(eventMessage);
-
146 }
-
147 
-
148 template <typename T>
-
149 bool ModeController<T>::handleModeController(SinricProRequest &request) {
-
150  T* device = static_cast<T*>(this);
-
151 
-
152  bool success = false;
-
153  if (request.action != FSTR_MODE_setMode) return false;
-
154  String mode = request.request_value[FSTR_MODE_mode] | "";
-
155 
-
156  if (request.instance != "") {
-
157  if (genericModeCallback.find(request.instance) != genericModeCallback.end()) {
-
158  success = genericModeCallback[request.instance](device->deviceId, request.instance, mode);
-
159  request.response_value[FSTR_MODE_mode] = mode;
-
160  return success;
-
161  } else return false;
-
162  } else {
-
163  if (setModeCallback) {
-
164  success = setModeCallback(device->deviceId, mode);
-
165  request.response_value[FSTR_MODE_mode] = mode;
-
166  return success;
-
167  }
-
168  }
-
169 
-
170  return success;
-
171 }
-
172 
-
173 } // SINRICPRO_NAMESPACE
-
174 
-
175 template <typename T>
-
176 using ModeController = SINRICPRO_NAMESPACE::ModeController<T>;
-
ModeController.
Definition: ModeController.h:53
-
bool sendModeEvent(String mode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setMode event to SinricPro Server indicating the mode has changed.
Definition: ModeController.h:114
-
void onSetMode(const String &instance, GenericModeCallback cb)
Set callback function for setMode request on a specific instance.
Definition: ModeController.h:100
-
bool sendModeEvent(String instance, String mode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setMode event to SinricPro Server indicating the mode on a specific instance has changed.
Definition: ModeController.h:135
-
void onSetMode(ModeCallback cb)
Set callback function for setMode request.
Definition: ModeController.h:89
-
std::function< bool(const String &, String &)> ModeCallback
Callback definition for onSetMode function.
Definition: ModeController.h:28
-
std::function< bool(const String &, const String &, String &)> GenericModeCallback
Callback definition for onSetMode function for a specific instance.
Definition: ModeController.h:45
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../EventLimiter.h"
+
5#include "../SinricProStrings.h"
+
6
+
7#include "../SinricProNamespace.h"
+
8
+
9namespace SINRICPRO_NAMESPACE {
+
10
+
11FSTR(MODE, setMode); // "setMode"
+
12FSTR(MODE, mode); // "mode"
+
13
+
28using ModeCallback = std::function<bool(const String &, String &)>;
+
29
+
45using GenericModeCallback = std::function<bool(const String &, const String &, String &)>;
+
46
+
47
+
52template <typename T>
+
+ +
54 public:
+ +
56
+
+ +
+
58 void onSetMode(const String& instance, GenericModeCallback cb);
+
59
+
+ +
+
61 bool sendModeEvent(String instance, String mode, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
+
62
+
63 protected:
+
64
+
65 bool handleModeController(SinricProRequest &request);
+
66
+
67 private:
+
68 EventLimiter event_limiter;
+
69 std::map<String, EventLimiter> event_limiter_generic;
+
70 ModeCallback setModeCallback;
+
71 std::map<String, GenericModeCallback> genericModeCallback;
+
72};
+
73
+
74template <typename T>
+ +
76: event_limiter(EVENT_LIMIT_STATE) {
+
77 T* device = static_cast<T*>(this);
+
78 device->registerRequestHandler(std::bind(&ModeController<T>::handleModeController, this, std::placeholders::_1));
+
79}
+
80
+
88template <typename T>
+
89void ModeController<T>::onSetMode(ModeCallback cb) { setModeCallback = cb; }
+
90
+
99template <typename T>
+
+ +
101 genericModeCallback[instance] = cb;
+
102}
+
+
103
+
113template <typename T>
+
+ +
115 if (event_limiter) return false;
+
116 T* device = static_cast<T*>(this);
+
117
+ + + +
121 return device->sendEvent(eventMessage);
+
122}
+
+
123
+
134template <typename T>
+
+
135bool ModeController<T>::sendModeEvent(String instance, String mode, String cause) {
+
136 if (event_limiter_generic.find(instance) == event_limiter_generic.end()) event_limiter_generic[instance] = EventLimiter(EVENT_LIMIT_STATE);
+
137 if (event_limiter_generic[instance]) return false;
+
138
+
139 T* device = static_cast<T*>(this);
+
140
+ + + + +
145 return device->sendEvent(eventMessage);
+
146}
+
+
+
147
+
148template <typename T>
+
149bool ModeController<T>::handleModeController(SinricProRequest &request) {
+
150 T* device = static_cast<T*>(this);
+
151
+
152 bool success = false;
+
153 if (request.action != FSTR_MODE_setMode) return false;
+
154 String mode = request.request_value[FSTR_MODE_mode] | "";
+
155
+
156 if (request.instance != "") {
+
157 if (genericModeCallback.find(request.instance) != genericModeCallback.end()) {
+
158 success = genericModeCallback[request.instance](device->deviceId, request.instance, mode);
+
159 request.response_value[FSTR_MODE_mode] = mode;
+
160 return success;
+
161 } else return false;
+
162 } else {
+
163 if (setModeCallback) {
+
164 success = setModeCallback(device->deviceId, mode);
+
165 request.response_value[FSTR_MODE_mode] = mode;
+
166 return success;
+
167 }
+
168 }
+
169
+
170 return success;
+
171}
+
172
+
173} // SINRICPRO_NAMESPACE
+
174
+
175template <typename T>
+
176using ModeController = SINRICPRO_NAMESPACE::ModeController<T>;
+
+
+
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
ModeController.
Definition ModeController.h:53
+
bool sendModeEvent(String mode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setMode event to SinricPro Server indicating the mode has changed.
Definition ModeController.h:114
+
void onSetMode(const String &instance, GenericModeCallback cb)
Set callback function for setMode request on a specific instance.
Definition ModeController.h:100
+
bool sendModeEvent(String instance, String mode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setMode event to SinricPro Server indicating the mode on a specific instance has changed.
Definition ModeController.h:135
+
void onSetMode(ModeCallback cb)
Set callback function for setMode request.
Definition ModeController.h:89
+
std::function< bool(const String &, String &)> ModeCallback
Callback definition for onSetMode function.
Definition ModeController.h:28
+
std::function< bool(const String &, const String &, String &)> GenericModeCallback
Callback definition for onSetMode function for a specific instance.
Definition ModeController.h:45
diff --git a/docs/_motion_sensor_8h_source.html b/docs/_motion_sensor_8h_source.html index 2c73224..ac9a1cc 100644 --- a/docs/_motion_sensor_8h_source.html +++ b/docs/_motion_sensor_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/MotionSensor.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/MotionSensor.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,66 +81,79 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
MotionSensor.h
+
MotionSensor.h
-
1 #pragma once
-
2 
-
3 #include "../EventLimiter.h"
-
4 #include "../SinricProStrings.h"
-
5 
-
6 #include "../SinricProNamespace.h"
-
7 namespace SINRICPRO_NAMESPACE {
-
8 
-
9 FSTR(MOTION, motion); // "motion"
-
10 FSTR(MOTION, state); // "state"
-
11 FSTR(MOTION, detected); // "detected"
-
12 FSTR(MOTION, notDetected); // "notDetected"
-
13 
-
18 template <typename T>
-
19 class MotionSensor {
-
20  public:
-
21  MotionSensor();
-
22  bool sendMotionEvent(bool detected, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
23  private:
-
24  EventLimiter event_limiter;
-
25 };
-
26 
-
27 template <typename T>
- -
29 : event_limiter(EVENT_LIMIT_SENSOR_STATE) {}
-
30 
-
40 template <typename T>
-
41 bool MotionSensor<T>::sendMotionEvent(bool detected, String cause) {
-
42  if (event_limiter) return false;
-
43  T* device = static_cast<T*>(this);
-
44 
-
45  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_MOTION_motion, cause.c_str());
-
46  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
47  event_value[FSTR_MOTION_state] = detected ? FSTR_MOTION_detected : FSTR_MOTION_notDetected;
-
48  return device->sendEvent(eventMessage);
-
49 }
-
50 
-
51 } // SINRICPRO_NAMESPACE
-
52 
-
53 template <typename T>
-
54 using MotionSensor = SINRICPRO_NAMESPACE::MotionSensor<T>;
-
MotionSensor.
Definition: MotionSensor.h:19
-
bool sendMotionEvent(bool detected, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Sending motion detection state to SinricPro server.
Definition: MotionSensor.h:41
+
1#pragma once
+
2
+
3#include "../EventLimiter.h"
+
4#include "../SinricProStrings.h"
+
5
+
6#include "../SinricProNamespace.h"
+
7namespace SINRICPRO_NAMESPACE {
+
8
+
9FSTR(MOTION, motion); // "motion"
+
10FSTR(MOTION, state); // "state"
+
11FSTR(MOTION, detected); // "detected"
+
12FSTR(MOTION, notDetected); // "notDetected"
+
13
+
18template <typename T>
+
+ +
20 public:
+ +
+ +
23 private:
+
24 EventLimiter event_limiter;
+
25};
+
26
+
27template <typename T>
+ +
29: event_limiter(EVENT_LIMIT_SENSOR_STATE) {}
+
30
+
40template <typename T>
+
+ +
42 if (event_limiter) return false;
+
43 T* device = static_cast<T*>(this);
+
44
+ + + +
48 return device->sendEvent(eventMessage);
+
49}
+
+
+
50
+
51} // SINRICPRO_NAMESPACE
+
52
+
53template <typename T>
+
54using MotionSensor = SINRICPRO_NAMESPACE::MotionSensor<T>;
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
MotionSensor.
Definition MotionSensor.h:19
+
bool sendMotionEvent(bool detected, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Sending motion detection state to SinricPro server.
Definition MotionSensor.h:41
diff --git a/docs/_mute_controller_8h_source.html b/docs/_mute_controller_8h_source.html index 21aecb4..da4c742 100644 --- a/docs/_mute_controller_8h_source.html +++ b/docs/_mute_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/MuteController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/MuteController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,97 +81,112 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
MuteController.h
+
MuteController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../EventLimiter.h"
-
5 #include "../SinricProStrings.h"
-
6 
-
7 #include "../SinricProNamespace.h"
-
8 namespace SINRICPRO_NAMESPACE {
-
9 
-
10 FSTR(MUTE, mute); // "mute"
-
11 FSTR(MUTE, setMute); // "setMute"
-
12 
-
27 using MuteCallback = std::function<bool(const String &, bool &)>;
-
28 
-
29 
-
34 template <typename T>
- -
36  public:
- -
38 
-
39  void onMute(MuteCallback cb);
-
40  bool sendMuteEvent(bool mute, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
41  protected:
-
42  bool handleMuteController(SinricProRequest &request);
-
43 
-
44  private:
-
45  EventLimiter event_limiter;
-
46  MuteCallback muteCallback;
-
47 };
-
48 
-
49 template <typename T>
- -
51 :event_limiter(EVENT_LIMIT_STATE) {
-
52  T* device = static_cast<T*>(this);
-
53  device->registerRequestHandler(std::bind(&MuteController<T>::handleMuteController, this, std::placeholders::_1));
-
54 }
-
55 
-
63 template <typename T>
-
64 void MuteController<T>::onMute(MuteCallback cb) { muteCallback = cb; }
-
65 
-
75 template <typename T>
-
76 bool MuteController<T>::sendMuteEvent(bool mute, String cause) {
-
77  if (event_limiter) return false;
-
78  T* device = static_cast<T*>(this);
-
79 
-
80  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_MUTE_setMute, cause.c_str());
-
81  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
82  event_value[FSTR_MUTE_mute] = mute;
-
83  return device->sendEvent(eventMessage);
-
84 }
-
85 
-
86 template <typename T>
-
87 bool MuteController<T>::handleMuteController(SinricProRequest &request) {
-
88  T* device = static_cast<T*>(this);
-
89 
-
90  bool success = false;
-
91 
-
92  if (muteCallback && request.action == FSTR_MUTE_setMute) {
-
93  bool mute = request.request_value[FSTR_MUTE_mute];
-
94  success = muteCallback(device->deviceId, mute);
-
95  request.response_value[FSTR_MUTE_mute] = mute;
-
96  return success;
-
97  }
-
98  return success;
-
99 }
-
100 
-
101 } // SINRICPRO_NAMESPACE
-
102 
-
103 template <typename T>
-
104 using MuteController = SINRICPRO_NAMESPACE::MuteController<T>;
-
MuteController.
Definition: MuteController.h:35
-
bool sendMuteEvent(bool mute, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setMute event to SinricPro Server indicating actual mute state.
Definition: MuteController.h:76
-
void onMute(MuteCallback cb)
Set callback function for setMute request.
Definition: MuteController.h:64
-
std::function< bool(const String &, bool &)> MuteCallback
Callback definition for onMute function.
Definition: MuteController.h:27
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../EventLimiter.h"
+
5#include "../SinricProStrings.h"
+
6
+
7#include "../SinricProNamespace.h"
+
8namespace SINRICPRO_NAMESPACE {
+
9
+
10FSTR(MUTE, mute); // "mute"
+
11FSTR(MUTE, setMute); // "setMute"
+
12
+
27using MuteCallback = std::function<bool(const String &, bool &)>;
+
28
+
29
+
34template <typename T>
+
+ +
36 public:
+ +
38
+
+ +
+ +
41 protected:
+
42 bool handleMuteController(SinricProRequest &request);
+
43
+
44 private:
+
45 EventLimiter event_limiter;
+
46 MuteCallback muteCallback;
+
47};
+
48
+
49template <typename T>
+ +
51:event_limiter(EVENT_LIMIT_STATE) {
+
52 T* device = static_cast<T*>(this);
+
53 device->registerRequestHandler(std::bind(&MuteController<T>::handleMuteController, this, std::placeholders::_1));
+
54}
+
55
+
63template <typename T>
+ +
65
+
75template <typename T>
+
+ +
77 if (event_limiter) return false;
+
78 T* device = static_cast<T*>(this);
+
79
+ + + +
83 return device->sendEvent(eventMessage);
+
84}
+
+
+
85
+
86template <typename T>
+ +
88 T* device = static_cast<T*>(this);
+
89
+
90 bool success = false;
+
91
+
92 if (muteCallback && request.action == FSTR_MUTE_setMute) {
+
93 bool mute = request.request_value[FSTR_MUTE_mute];
+
94 success = muteCallback(device->deviceId, mute);
+
95 request.response_value[FSTR_MUTE_mute] = mute;
+
96 return success;
+
97 }
+
98 return success;
+
99}
+
100
+
101} // SINRICPRO_NAMESPACE
+
102
+
103template <typename T>
+
104using MuteController = SINRICPRO_NAMESPACE::MuteController<T>;
+
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
MuteController.
Definition MuteController.h:35
+
bool sendMuteEvent(bool mute, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setMute event to SinricPro Server indicating actual mute state.
Definition MuteController.h:76
+
void onMute(MuteCallback cb)
Set callback function for setMute request.
Definition MuteController.h:64
+
std::function< bool(const String &, bool &)> MuteCallback
Callback definition for onMute function.
Definition MuteController.h:27
diff --git a/docs/_percentage_controller_8h_source.html b/docs/_percentage_controller_8h_source.html index cc719f4..4c85210 100644 --- a/docs/_percentage_controller_8h_source.html +++ b/docs/_percentage_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/PercentageController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/PercentageController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,115 +81,123 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
PercentageController.h
+
PercentageController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../EventLimiter.h"
-
5 #include "../SinricProStrings.h"
-
6 
-
7 #include "../SinricProNamespace.h"
-
8 namespace SINRICPRO_NAMESPACE {
-
9 
-
10 FSTR(PERCENTAGE, setPercentage); // "setPercentage"
-
11 FSTR(PERCENTAGE, percentage); // "percentage"
-
12 FSTR(PERCENTAGE, adjustPercentage); // "adjustPercentage"
-
13 
-
29 using SetPercentageCallback = std::function<bool(const String &, int &)>;
-
44 using AdjustPercentageCallback = std::function<bool(const String &, int &)>;
-
45 
-
46 
-
51 template <typename T>
- -
53  public:
- -
55 
-
56  void onSetPercentage(SetPercentageCallback cb);
-
57  void onAdjustPercentage(AdjustPercentageCallback cb);
-
58 
-
59  bool sendSetPercentageEvent(int percentage, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
60 
-
61  protected:
-
62  bool handlePercentageController(SinricProRequest &request);
-
63 
-
64  private:
-
65  EventLimiter event_limiter;
-
66  SetPercentageCallback percentageCallback;
-
67  AdjustPercentageCallback adjustPercentageCallback;
-
68 };
-
69 
-
70 template <typename T>
- -
72 : event_limiter(EVENT_LIMIT_STATE) {
-
73  T* device = static_cast<T*>(this);
-
74  device->registerRequestHandler(std::bind(&PercentageController<T>::handlePercentageController, this, std::placeholders::_1));
-
75 }
-
76 
-
84 template <typename T>
- -
86 
-
94 template <typename T>
-
95 void PercentageController<T>::onAdjustPercentage(AdjustPercentageCallback cb) { adjustPercentageCallback = cb; }
-
96 
-
106 template <typename T>
-
107 bool PercentageController<T>::sendSetPercentageEvent(int percentage, String cause) {
-
108  if (event_limiter) return false;
-
109  T* device = static_cast<T*>(this);
-
110 
-
111  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_PERCENTAGE_setPercentage, cause.c_str());
-
112  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
113  event_value[FSTR_PERCENTAGE_percentage] = percentage;
-
114  return device->sendEvent(eventMessage);
-
115 }
-
116 
-
117 template <typename T>
-
118 bool PercentageController<T>::handlePercentageController(SinricProRequest &request) {
-
119  T* device = static_cast<T*>(this);
-
120 
-
121  bool success = false;
-
122 
-
123  if (percentageCallback && request.action == FSTR_PERCENTAGE_setPercentage) {
-
124  int percentage = request.request_value[FSTR_PERCENTAGE_percentage];
-
125  success = percentageCallback(device->deviceId, percentage);
-
126  request.response_value[FSTR_PERCENTAGE_percentage] = percentage;
-
127  return success;
-
128  }
-
129 
-
130  if (adjustPercentageCallback && request.action == FSTR_PERCENTAGE_adjustPercentage) {
-
131  int percentage = request.request_value[FSTR_PERCENTAGE_percentage];
-
132  success = adjustPercentageCallback(device->deviceId, percentage);
-
133  request.response_value[FSTR_PERCENTAGE_percentage] = percentage;
-
134  return success;
-
135  }
-
136  return success;
-
137 }
-
138 
-
139 } // SINRICPRO_NAMESPACE
-
140 
-
141 template <typename T>
-
142 using PercentageController = SINRICPRO_NAMESPACE::PercentageController<T>;
-
PercentageController.
Definition: PercentageController.h:52
-
void onAdjustPercentage(AdjustPercentageCallback cb)
Set callback function for adjustPercentage request.
Definition: PercentageController.h:95
-
bool sendSetPercentageEvent(int percentage, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setPercentage event to SinricPro Server indicating actual percentage has changed.
Definition: PercentageController.h:107
-
void onSetPercentage(SetPercentageCallback cb)
Set callback function for setPercentage request.
Definition: PercentageController.h:85
-
std::function< bool(const String &, int &)> AdjustPercentageCallback
Callback definition for onAdjustPercentage function.
Definition: PercentageController.h:44
-
std::function< bool(const String &, int &)> SetPercentageCallback
Callback definition for onSetPercentage function.
Definition: PercentageController.h:29
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../EventLimiter.h"
+
5#include "../SinricProStrings.h"
+
6
+
7#include "../SinricProNamespace.h"
+
8namespace SINRICPRO_NAMESPACE {
+
9
+
10FSTR(PERCENTAGE, setPercentage); // "setPercentage"
+
11FSTR(PERCENTAGE, percentage); // "percentage"
+
12FSTR(PERCENTAGE, adjustPercentage); // "adjustPercentage"
+
13
+
29using SetPercentageCallback = std::function<bool(const String &, int &)>;
+
44using AdjustPercentageCallback = std::function<bool(const String &, int &)>;
+
45
+
46
+
51template <typename T>
+
+ +
53 public:
+ +
55
+
56 void onSetPercentage(SetPercentageCallback cb);
+
57 void onAdjustPercentage(AdjustPercentageCallback cb);
+
58
+
59 bool sendSetPercentageEvent(int percentage, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
+
60
+
61 protected:
+
62 bool handlePercentageController(SinricProRequest &request);
+
63
+
64 private:
+
65 EventLimiter event_limiter;
+
66 SetPercentageCallback percentageCallback;
+
67 AdjustPercentageCallback adjustPercentageCallback;
+
68};
+
+
69
+
70template <typename T>
+ +
72: event_limiter(EVENT_LIMIT_STATE) {
+
73 T* device = static_cast<T*>(this);
+
74 device->registerRequestHandler(std::bind(&PercentageController<T>::handlePercentageController, this, std::placeholders::_1));
+
75}
+
76
+
84template <typename T>
+ +
86
+
94template <typename T>
+ +
96
+
106template <typename T>
+
+ +
108 if (event_limiter) return false;
+
109 T* device = static_cast<T*>(this);
+
110
+ + + +
114 return device->sendEvent(eventMessage);
+
115}
+
+
116
+
117template <typename T>
+ +
119 T* device = static_cast<T*>(this);
+
120
+
121 bool success = false;
+
122
+
123 if (percentageCallback && request.action == FSTR_PERCENTAGE_setPercentage) {
+
124 int percentage = request.request_value[FSTR_PERCENTAGE_percentage];
+
125 success = percentageCallback(device->deviceId, percentage);
+ +
127 return success;
+
128 }
+
129
+
130 if (adjustPercentageCallback && request.action == FSTR_PERCENTAGE_adjustPercentage) {
+
131 int percentage = request.request_value[FSTR_PERCENTAGE_percentage];
+
132 success = adjustPercentageCallback(device->deviceId, percentage);
+
133 request.response_value[FSTR_PERCENTAGE_percentage] = percentage;
+
134 return success;
+
135 }
+
136 return success;
+
137}
+
138
+
139} // SINRICPRO_NAMESPACE
+
140
+
141template <typename T>
+
142using PercentageController = SINRICPRO_NAMESPACE::PercentageController<T>;
+
AirQuality.
Definition AirQualitySensor.h:19
+
PercentageController.
Definition PercentageController.h:52
+
std::function< bool(const String &, int &)> AdjustPercentageCallback
Callback definition for onAdjustPercentage function.
Definition PercentageController.h:44
+
std::function< bool(const String &, int &)> SetPercentageCallback
Callback definition for onSetPercentage function.
Definition PercentageController.h:29
diff --git a/docs/_power_level_controller_8h_source.html b/docs/_power_level_controller_8h_source.html index 5ecce80..353771c 100644 --- a/docs/_power_level_controller_8h_source.html +++ b/docs/_power_level_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/PowerLevelController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/PowerLevelController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,118 +81,139 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
PowerLevelController.h
+
PowerLevelController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../EventLimiter.h"
-
5 #include "../SinricProStrings.h"
-
6 
-
7 #include "../SinricProNamespace.h"
-
8 namespace SINRICPRO_NAMESPACE {
-
9 
-
10 FSTR(POWERLEVEL, setPowerLevel); // "setPowerLevel"
-
11 FSTR(POWERLEVEL, powerLevel); // "powerLevel"
-
12 FSTR(POWERLEVEL, adjustPowerLevel); // "adjustPowerLevel"
-
13 FSTR(POWERLEVEL, powerLevelDelta); // "powerLevelDelta"
-
14 
-
30 using SetPowerLevelCallback = std::function<bool(const String &, int &)>;
-
45 using AdjustPowerLevelCallback = std::function<bool(const String &, int &)>;
-
46 
-
47 
-
52 template <typename T>
- -
54  public:
- -
56 
- - -
59  bool sendPowerLevelEvent(int powerLevel, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
60 
-
61  protected:
-
62  bool handlePowerLevelController(SinricProRequest &request);
-
63 
-
64  private:
-
65  EventLimiter event_limiter;
-
66  SetPowerLevelCallback setPowerLevelCallback;
-
67  AdjustPowerLevelCallback adjustPowerLevelCallback;
-
68 };
-
69 
-
70 template <typename T>
- -
72 : event_limiter(EVENT_LIMIT_STATE) {
-
73  T* device = static_cast<T*>(this);
-
74  device->registerRequestHandler(std::bind(&PowerLevelController<T>::handlePowerLevelController, this, std::placeholders::_1));
-
75 }
-
76 
-
83 template <typename T>
- -
85  setPowerLevelCallback = cb;
-
86 }
-
87 
-
94 template <typename T>
- -
96 {
-
97  adjustPowerLevelCallback = cb;
-
98 }
-
99 
-
109 template <typename T>
-
110 bool PowerLevelController<T>::sendPowerLevelEvent(int powerLevel, String cause) {
-
111  if (event_limiter) return false;
-
112  T* device = static_cast<T*>(this);
-
113 
-
114  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_POWERLEVEL_setPowerLevel, cause.c_str());
-
115  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
116  event_value[FSTR_POWERLEVEL_powerLevel] = powerLevel;
-
117  return device->sendEvent(eventMessage);
-
118 }
-
119 
-
120 template <typename T>
-
121 bool PowerLevelController<T>::handlePowerLevelController(SinricProRequest &request) {
-
122  T* device = static_cast<T*>(this);
-
123 
-
124  bool success = false;
-
125 
-
126  if (setPowerLevelCallback && request.action == FSTR_POWERLEVEL_setPowerLevel) {
-
127  int powerLevel = request.request_value[FSTR_POWERLEVEL_powerLevel];
-
128  success = setPowerLevelCallback(device->deviceId, powerLevel);
-
129  request.response_value[FSTR_POWERLEVEL_powerLevel] = powerLevel;
-
130  }
-
131 
-
132  if (adjustPowerLevelCallback && request.action == FSTR_POWERLEVEL_adjustPowerLevel) {
-
133  int powerLevelDelta = request.request_value[FSTR_POWERLEVEL_powerLevelDelta];
-
134  success = adjustPowerLevelCallback(device->deviceId, powerLevelDelta);
-
135  request.response_value[FSTR_POWERLEVEL_powerLevel] = powerLevelDelta;
-
136  }
-
137  return success;
-
138 }
-
139 
-
140 } // SINRICPRO_NAMESPACE
-
141 
-
142 template <typename T>
-
143 using PowerLevelController = SINRICPRO_NAMESPACE::PowerLevelController<T>;
-
PowerLevelController.
Definition: PowerLevelController.h:53
-
void onPowerLevel(SetPowerLevelCallback cb)
Set callback function for setPowerLevel request.
Definition: PowerLevelController.h:84
-
void onAdjustPowerLevel(AdjustPowerLevelCallback cb)
Set callback function for adjustPowerLevel request.
Definition: PowerLevelController.h:95
-
bool sendPowerLevelEvent(int powerLevel, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setPowerLevel event to SinricPro Server indicating actual power level.
Definition: PowerLevelController.h:110
-
std::function< bool(const String &, int &)> AdjustPowerLevelCallback
Definition for onAdjustPowerLevel callback.
Definition: PowerLevelController.h:45
-
std::function< bool(const String &, int &)> SetPowerLevelCallback
Definition for setPowerLevel callback.
Definition: PowerLevelController.h:30
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../EventLimiter.h"
+
5#include "../SinricProStrings.h"
+
6
+
7#include "../SinricProNamespace.h"
+
8namespace SINRICPRO_NAMESPACE {
+
9
+
10FSTR(POWERLEVEL, setPowerLevel); // "setPowerLevel"
+
11FSTR(POWERLEVEL, powerLevel); // "powerLevel"
+
12FSTR(POWERLEVEL, adjustPowerLevel); // "adjustPowerLevel"
+
13FSTR(POWERLEVEL, powerLevelDelta); // "powerLevelDelta"
+
14
+
30using SetPowerLevelCallback = std::function<bool(const String &, int &)>;
+
45using AdjustPowerLevelCallback = std::function<bool(const String &, int &)>;
+
46
+
47
+
52template <typename T>
+
+ +
54 public:
+ +
56
+
+ +
+ +
+ +
60
+
61 protected:
+
62 bool handlePowerLevelController(SinricProRequest &request);
+
63
+
64 private:
+
65 EventLimiter event_limiter;
+
66 SetPowerLevelCallback setPowerLevelCallback;
+
67 AdjustPowerLevelCallback adjustPowerLevelCallback;
+
68};
+
69
+
70template <typename T>
+ +
72: event_limiter(EVENT_LIMIT_STATE) {
+
73 T* device = static_cast<T*>(this);
+
74 device->registerRequestHandler(std::bind(&PowerLevelController<T>::handlePowerLevelController, this, std::placeholders::_1));
+
75}
+
76
+
83template <typename T>
+
+ +
85 setPowerLevelCallback = cb;
+
86}
+
+
87
+
94template <typename T>
+
+ +
96{
+
97 adjustPowerLevelCallback = cb;
+
98}
+
+
99
+
109template <typename T>
+
+ +
111 if (event_limiter) return false;
+
112 T* device = static_cast<T*>(this);
+
113
+ + + +
117 return device->sendEvent(eventMessage);
+
118}
+
+
+
119
+
120template <typename T>
+ +
122 T* device = static_cast<T*>(this);
+
123
+
124 bool success = false;
+
125
+
126 if (setPowerLevelCallback && request.action == FSTR_POWERLEVEL_setPowerLevel) {
+
127 int powerLevel = request.request_value[FSTR_POWERLEVEL_powerLevel];
+
128 success = setPowerLevelCallback(device->deviceId, powerLevel);
+ +
130 }
+
131
+
132 if (adjustPowerLevelCallback && request.action == FSTR_POWERLEVEL_adjustPowerLevel) {
+
133 int powerLevelDelta = request.request_value[FSTR_POWERLEVEL_powerLevelDelta];
+
134 success = adjustPowerLevelCallback(device->deviceId, powerLevelDelta);
+
135 request.response_value[FSTR_POWERLEVEL_powerLevel] = powerLevelDelta;
+
136 }
+
137 return success;
+
138}
+
139
+
140} // SINRICPRO_NAMESPACE
+
141
+
142template <typename T>
+
143using PowerLevelController = SINRICPRO_NAMESPACE::PowerLevelController<T>;
+
+
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
PowerLevelController.
Definition PowerLevelController.h:53
+
void onPowerLevel(SetPowerLevelCallback cb)
Set callback function for setPowerLevel request.
Definition PowerLevelController.h:84
+
void onAdjustPowerLevel(AdjustPowerLevelCallback cb)
Set callback function for adjustPowerLevel request.
Definition PowerLevelController.h:95
+
bool sendPowerLevelEvent(int powerLevel, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setPowerLevel event to SinricPro Server indicating actual power level.
Definition PowerLevelController.h:110
+
std::function< bool(const String &, int &)> AdjustPowerLevelCallback
Definition for onAdjustPowerLevel callback.
Definition PowerLevelController.h:45
+
std::function< bool(const String &, int &)> SetPowerLevelCallback
Definition for setPowerLevel callback.
Definition PowerLevelController.h:30
diff --git a/docs/_power_sensor_8h_source.html b/docs/_power_sensor_8h_source.html index 1c007ed..34baaf0 100644 --- a/docs/_power_sensor_8h_source.html +++ b/docs/_power_sensor_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/PowerSensor.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/PowerSensor.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,99 +81,112 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
PowerSensor.h
+
PowerSensor.h
-
1 #pragma once
-
2 
-
3 #include "../EventLimiter.h"
-
4 #include "../SinricProStrings.h"
-
5 
-
6 #include "../SinricProNamespace.h"
-
7 namespace SINRICPRO_NAMESPACE {
-
8 
-
9 FSTR(POWERSENSOR, powerUsage); // "powerUsage"
-
10 FSTR(POWERSENSOR, startTime); // "startTime"
-
11 FSTR(POWERSENSOR, voltage); // "voltage"
-
12 FSTR(POWERSENSOR, current); // "current"
-
13 FSTR(POWERSENSOR, power); // "power"
-
14 FSTR(POWERSENSOR, apparentPower); // "apparentPower"
-
15 FSTR(POWERSENSOR, reactivePower); // "reactivePower"
-
16 FSTR(POWERSENSOR, factor); // "factor"
-
17 FSTR(POWERSENSOR, wattHours); // "wattHours"
-
18 
-
23 template <typename T>
-
24 class PowerSensor {
-
25 public:
-
26  PowerSensor();
-
27  bool sendPowerSensorEvent(float voltage, float current, float power = -1.0f, float apparentPower = -1.0f, float reactivePower = -1.0f, float factor = -1.0f, String cause = FSTR_SINRICPRO_PERIODIC_POLL);
-
28 
-
29 private:
-
30  EventLimiter event_limiter;
-
31  unsigned long startTime = 0;
-
32  unsigned long lastPower = 0;
-
33  float getWattHours(unsigned long currentTimestamp);
-
34 };
-
35 
-
36 template <typename T>
- -
38 : event_limiter(EVENT_LIMIT_SENSOR_VALUE) {}
-
39 
-
53 template <typename T>
-
54 bool PowerSensor<T>::sendPowerSensorEvent(float voltage, float current, float power, float apparentPower, float reactivePower, float factor, String cause) {
-
55  if (event_limiter) return false;
-
56  T* device = static_cast<T*>(this);
-
57 
-
58  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_POWERSENSOR_powerUsage, cause.c_str());
-
59  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
60  if (power == -1)
-
61  power = voltage * current;
-
62  if (apparentPower != -1)
-
63  factor = power / apparentPower;
-
64 
-
65  unsigned long currentTimestamp = device->getTimestamp();
-
66 
-
67  event_value[FSTR_POWERSENSOR_startTime] = startTime;
-
68  event_value[FSTR_POWERSENSOR_voltage] = voltage;
-
69  event_value[FSTR_POWERSENSOR_current] = current;
-
70  event_value[FSTR_POWERSENSOR_power] = power;
-
71  event_value[FSTR_POWERSENSOR_apparentPower] = apparentPower;
-
72  event_value[FSTR_POWERSENSOR_reactivePower] = reactivePower;
-
73  event_value[FSTR_POWERSENSOR_factor] = factor;
-
74  event_value[FSTR_POWERSENSOR_wattHours] = getWattHours(currentTimestamp);
-
75 
-
76  startTime = currentTimestamp;
-
77  lastPower = power;
-
78  return device->sendEvent(eventMessage);
-
79 }
-
80 
-
81 template <typename T>
-
82 float PowerSensor<T>::getWattHours(unsigned long currentTimestamp) {
-
83  if (startTime)
-
84  return (currentTimestamp - startTime) * lastPower / 3600.0f;
-
85  return 0;
-
86 }
-
87 
-
88 } // SINRICPRO_NAMESPACE
-
89 
-
90 template <typename T>
-
91 using PowerSensor = SINRICPRO_NAMESPACE::PowerSensor<T>;
-
PowerSensor.
Definition: PowerSensor.h:24
-
bool sendPowerSensorEvent(float voltage, float current, float power=-1.0f, float apparentPower=-1.0f, float reactivePower=-1.0f, float factor=-1.0f, String cause=FSTR_SINRICPRO_PERIODIC_POLL)
Send PowerSensor event to SinricPro Server.
Definition: PowerSensor.h:54
+
1#pragma once
+
2
+
3#include "../EventLimiter.h"
+
4#include "../SinricProStrings.h"
+
5
+
6#include "../SinricProNamespace.h"
+
7namespace SINRICPRO_NAMESPACE {
+
8
+
9FSTR(POWERSENSOR, powerUsage); // "powerUsage"
+
10FSTR(POWERSENSOR, startTime); // "startTime"
+
11FSTR(POWERSENSOR, voltage); // "voltage"
+
12FSTR(POWERSENSOR, current); // "current"
+
13FSTR(POWERSENSOR, power); // "power"
+
14FSTR(POWERSENSOR, apparentPower); // "apparentPower"
+
15FSTR(POWERSENSOR, reactivePower); // "reactivePower"
+
16FSTR(POWERSENSOR, factor); // "factor"
+
17FSTR(POWERSENSOR, wattHours); // "wattHours"
+
18
+
23template <typename T>
+
+ +
25public:
+ +
+
27 bool sendPowerSensorEvent(float voltage, float current, float power = -1.0f, float apparentPower = -1.0f, float reactivePower = -1.0f, float factor = -1.0f, String cause = FSTR_SINRICPRO_PERIODIC_POLL);
+
28
+
29private:
+
30 EventLimiter event_limiter;
+
31 unsigned long startTime = 0;
+
32 unsigned long lastPower = 0;
+
33 float getWattHours(unsigned long currentTimestamp);
+
34};
+
35
+
36template <typename T>
+ +
38: event_limiter(EVENT_LIMIT_SENSOR_VALUE) {}
+
39
+
53template <typename T>
+
+
54bool PowerSensor<T>::sendPowerSensorEvent(float voltage, float current, float power, float apparentPower, float reactivePower, float factor, String cause) {
+
55 if (event_limiter) return false;
+
56 T* device = static_cast<T*>(this);
+
57
+ + +
60 if (power == -1)
+ +
62 if (apparentPower != -1)
+ +
64
+
65 unsigned long currentTimestamp = device->getTimestamp();
+
66
+ + + + + + + + +
75
+
76 startTime = currentTimestamp;
+
77 lastPower = power;
+
78 return device->sendEvent(eventMessage);
+
79}
+
+
+
80
+
81template <typename T>
+ +
83 if (startTime)
+
84 return (currentTimestamp - startTime) * lastPower / 3600.0f;
+
85 return 0;
+
86}
+
87
+
88} // SINRICPRO_NAMESPACE
+
89
+
90template <typename T>
+
91using PowerSensor = SINRICPRO_NAMESPACE::PowerSensor<T>;
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
PowerSensor.
Definition PowerSensor.h:24
+
bool sendPowerSensorEvent(float voltage, float current, float power=-1.0f, float apparentPower=-1.0f, float reactivePower=-1.0f, float factor=-1.0f, String cause=FSTR_SINRICPRO_PERIODIC_POLL)
Send PowerSensor event to SinricPro Server.
Definition PowerSensor.h:54
diff --git a/docs/_power_state_controller_8h_source.html b/docs/_power_state_controller_8h_source.html index 8480648..243b2f0 100644 --- a/docs/_power_state_controller_8h_source.html +++ b/docs/_power_state_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/PowerStateController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/PowerStateController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,102 +81,119 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
PowerStateController.h
+
PowerStateController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../EventLimiter.h"
-
5 #include "../SinricProStrings.h"
-
6 
-
7 #include "../SinricProNamespace.h"
-
8 namespace SINRICPRO_NAMESPACE {
-
9 
-
10 FSTR(POWERSTATE, state); // "state"
-
11 FSTR(POWERSTATE, On); // "On"
-
12 FSTR(POWERSTATE, Off); // "Off"
-
13 FSTR(POWERSTATE, setPowerState); // "setPowerState"
-
14 
-
28 using PowerStateCallback = std::function<bool(const String &, bool &)>;
-
29 
-
30 
-
35 template <typename T>
- -
37  public:
- -
39 
- -
41  bool sendPowerStateEvent(bool state, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
42 
-
43  protected:
-
44  bool handlePowerStateController(SinricProRequest &request);
-
45 
-
46  private:
-
47  EventLimiter event_limiter;
-
48  PowerStateCallback powerStateCallback;
-
49 };
-
50 
-
51 template <typename T>
- -
53 : event_limiter(EVENT_LIMIT_STATE) {
-
54  T* device = static_cast<T*>(this);
-
55  device->registerRequestHandler(std::bind(&PowerStateController<T>::handlePowerStateController, this, std::placeholders::_1));
-
56 }
-
57 
-
65 template <typename T>
- -
67  powerStateCallback = cb;
-
68 }
-
69 
-
79 template <typename T>
-
80 bool PowerStateController<T>::sendPowerStateEvent(bool state, String cause) {
-
81  if (event_limiter) return false;
-
82  T* device = static_cast<T*>(this);
-
83 
-
84  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_POWERSTATE_setPowerState, cause.c_str());
-
85  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
86  event_value[FSTR_POWERSTATE_state] = state ? FSTR_POWERSTATE_On : FSTR_POWERSTATE_Off;
-
87  return device->sendEvent(eventMessage);
-
88 }
-
89 
-
90 template <typename T>
-
91 bool PowerStateController<T>::handlePowerStateController(SinricProRequest &request) {
-
92  T* device = static_cast<T*>(this);
-
93 
-
94  bool success = false;
-
95 
-
96  if (request.action == FSTR_POWERSTATE_setPowerState && powerStateCallback) {
-
97  bool powerState = request.request_value[FSTR_POWERSTATE_state] == FSTR_POWERSTATE_On ? true : false;
-
98  success = powerStateCallback(device->deviceId, powerState);
-
99  request.response_value[FSTR_POWERSTATE_state] = powerState ? FSTR_POWERSTATE_On : FSTR_POWERSTATE_Off;
-
100  return success;
-
101  }
-
102  return success;
-
103 }
-
104 
-
105 } // SINRICPRO_NAMESPACE
-
106 
-
107 template <typename T>
-
108 using PowerStateController = SINRICPRO_NAMESPACE::PowerStateController<T>;
-
PowerStateController.
Definition: PowerStateController.h:36
-
void onPowerState(PowerStateCallback cb)
Set callback function for powerState request.
Definition: PowerStateController.h:66
-
bool sendPowerStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setPowerState event to SinricPro Server indicating actual power state.
Definition: PowerStateController.h:80
-
std::function< bool(const String &, bool &)> PowerStateCallback
Callback definition for onPowerState function.
Definition: PowerStateController.h:28
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../EventLimiter.h"
+
5#include "../SinricProStrings.h"
+
6
+
7#include "../SinricProNamespace.h"
+
8namespace SINRICPRO_NAMESPACE {
+
9
+
10FSTR(POWERSTATE, state); // "state"
+
11FSTR(POWERSTATE, On); // "On"
+
12FSTR(POWERSTATE, Off); // "Off"
+
13FSTR(POWERSTATE, setPowerState); // "setPowerState"
+
14
+
28using PowerStateCallback = std::function<bool(const String &, bool &)>;
+
29
+
30
+
35template <typename T>
+
+ +
37 public:
+ +
39
+
+ +
+ +
42
+
43 protected:
+
44 bool handlePowerStateController(SinricProRequest &request);
+
45
+
46 private:
+
47 EventLimiter event_limiter;
+
48 PowerStateCallback powerStateCallback;
+
49};
+
50
+
51template <typename T>
+ +
53: event_limiter(EVENT_LIMIT_STATE) {
+
54 T* device = static_cast<T*>(this);
+
55 device->registerRequestHandler(std::bind(&PowerStateController<T>::handlePowerStateController, this, std::placeholders::_1));
+
56}
+
57
+
65template <typename T>
+
+ +
67 powerStateCallback = cb;
+
68}
+
+
69
+
79template <typename T>
+
+ +
81 if (event_limiter) return false;
+
82 T* device = static_cast<T*>(this);
+
83
+ + + +
87 return device->sendEvent(eventMessage);
+
88}
+
+
+
89
+
90template <typename T>
+ +
92 T* device = static_cast<T*>(this);
+
93
+
94 bool success = false;
+
95
+
96 if (request.action == FSTR_POWERSTATE_setPowerState && powerStateCallback) {
+
97 bool powerState = request.request_value[FSTR_POWERSTATE_state] == FSTR_POWERSTATE_On ? true : false;
+
98 success = powerStateCallback(device->deviceId, powerState);
+ +
100 return success;
+
101 }
+
102 return success;
+
103}
+
104
+
105} // SINRICPRO_NAMESPACE
+
106
+
107template <typename T>
+
108using PowerStateController = SINRICPRO_NAMESPACE::PowerStateController<T>;
+
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
PowerStateController.
Definition PowerStateController.h:36
+
void onPowerState(PowerStateCallback cb)
Set callback function for powerState request.
Definition PowerStateController.h:66
+
bool sendPowerStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setPowerState event to SinricPro Server indicating actual power state.
Definition PowerStateController.h:80
+
std::function< bool(const String &, bool &)> PowerStateCallback
Callback definition for onPowerState function.
Definition PowerStateController.h:28
diff --git a/docs/_push_notification_8h_source.html b/docs/_push_notification_8h_source.html index 5c9386b..2dee495 100644 --- a/docs/_push_notification_8h_source.html +++ b/docs/_push_notification_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/PushNotification.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/PushNotification.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,66 +81,79 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
PushNotification.h
+
PushNotification.h
-
1 #pragma once
-
2 
-
3 #include "../EventLimiter.h"
-
4 #include "../SinricProStrings.h"
-
5 
-
6 #include "../SinricProNamespace.h"
-
7 namespace SINRICPRO_NAMESPACE {
-
8 
-
9 FSTR(PUSHNOTIFICATION, pushNotification); // "pushNotification"
-
10 FSTR(PUSHNOTIFICATION, alert); // "alert"
-
11 
-
16 template <typename T>
- -
18  public:
- -
20  bool sendPushNotification(String notification);
-
21  private:
-
22  EventLimiter event_limiter;
-
23 };
-
24 
-
25 template <typename T>
- -
27 : event_limiter (EVENT_LIMIT_SENSOR_VALUE) {}
-
28 
-
37 template <typename T>
-
38 bool PushNotification<T>::sendPushNotification(String notification) {
-
39  if (event_limiter) return false;
-
40  T* device = static_cast<T*>(this);
-
41 
-
42  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_PUSHNOTIFICATION_pushNotification, FSTR_SINRICPRO_ALERT);
-
43  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
44 
-
45  event_value[FSTR_PUSHNOTIFICATION_alert] = notification;
-
46 
-
47  return device->sendEvent(eventMessage);
-
48 }
-
49 
-
50 } // SINRICPRO_NAMESPACE
-
51 
-
52 template <typename T>
-
53 using PushNotification = SINRICPRO_NAMESPACE::PushNotification<T>;
-
PushNotification.
Definition: PushNotification.h:17
-
bool sendPushNotification(String notification)
Sending push notifications to SinricPro App.
Definition: PushNotification.h:38
+
1#pragma once
+
2
+
3#include "../EventLimiter.h"
+
4#include "../SinricProStrings.h"
+
5
+
6#include "../SinricProNamespace.h"
+
7namespace SINRICPRO_NAMESPACE {
+
8
+
9FSTR(PUSHNOTIFICATION, pushNotification); // "pushNotification"
+
10FSTR(PUSHNOTIFICATION, alert); // "alert"
+
11
+
16template <typename T>
+
+ +
18 public:
+ +
+ +
21 private:
+
22 EventLimiter event_limiter;
+
23};
+
24
+
25template <typename T>
+ +
27: event_limiter (EVENT_LIMIT_SENSOR_VALUE) {}
+
28
+
37template <typename T>
+ +
+
49
+
50} // SINRICPRO_NAMESPACE
+
51
+
52template <typename T>
+
53using PushNotification = SINRICPRO_NAMESPACE::PushNotification<T>;
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
PushNotification.
Definition PushNotification.h:17
+
bool sendPushNotification(String notification)
Sending push notifications to SinricPro App.
Definition PushNotification.h:38
diff --git a/docs/_range_controller_8h_source.html b/docs/_range_controller_8h_source.html index 9edcdb9..4567bb3 100644 --- a/docs/_range_controller_8h_source.html +++ b/docs/_range_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/RangeController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/RangeController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,258 +81,286 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
RangeController.h
+
RangeController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../EventLimiter.h"
-
5 #include "../SinricProStrings.h"
-
6 
-
7 #include "../SinricProNamespace.h"
-
8 namespace SINRICPRO_NAMESPACE {
-
9 
-
10 FSTR(RANGE, setRangeValue); // "setRangeValue"
-
11 FSTR(RANGE, rangeValue); // "rangeValue"
-
12 FSTR(RANGE, adjustRangeValue); // "adjustRangeValue"
-
13 FSTR(RANGE, rangeValueDelta); // "rangeValueDelta"
-
14 
-
30 using GenericRangeValueCallback_int = bool (*)(const String &, const String &, int &);
-
31 using GenericRangeValueCallback_float = bool (*)(const String &, const String &, float &);
-
32 
-
33 struct GenericRangeValueCallback {
-
34  GenericRangeValueCallback() : type(type_unknown) {}
-
35  GenericRangeValueCallback(GenericRangeValueCallback_int cb) : type(type_int), cb_int(cb) {}
-
36  GenericRangeValueCallback(GenericRangeValueCallback_float cb) : type(type_float), cb_float(cb) {}
-
37  enum {
-
38  type_unknown,
-
39  type_int,
-
40  type_float
-
41  } type;
-
42  union {
- -
44  GenericRangeValueCallback_float cb_float;
-
45  };
-
46 };
-
47 
-
48 using SetRangeValueCallback = bool (*)(const String &, int &);
-
49 
- -
66  using GenericSetRangeValueCallback_float = GenericRangeValueCallback_float;
-
67 
-
82 using AdjustRangeValueCallback = bool (*)(const String &, int &);
-
83 
- -
100 using GenericAdjustRangeValueCallback_float = GenericRangeValueCallback_float;
-
101 
-
102 
-
103 
-
108 template <typename T>
- -
110  public:
-
111 
-
112  RangeController();
-
113 
-
114  void onRangeValue(SetRangeValueCallback cb);
-
115  void onRangeValue(const String& instance, GenericSetRangeValueCallback_int cb);
-
116  void onRangeValue(const String& instance, GenericSetRangeValueCallback_float cb);
-
117 
- -
119  void onAdjustRangeValue(const String& instance, GenericAdjustRangeValueCallback_int cb);
-
120  void onAdjustRangeValue(const String& instance, GenericAdjustRangeValueCallback_float cb);
-
121 
-
122  bool sendRangeValueEvent(int rangeValue, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
123  bool sendRangeValueEvent(const String& instance, int rangeValue, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
124  bool sendRangeValueEvent(const String& instance, float rangeValue, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
125 
-
126  protected:
-
127  bool handleRangeController(SinricProRequest &request);
-
128 
-
129  private:
-
130  EventLimiter event_limiter;
-
131  std::map<String, EventLimiter> event_limiter_generic;
-
132  SetRangeValueCallback setRangeValueCallback;
-
133  std::map<String, GenericRangeValueCallback> genericSetRangeValueCallback;
-
134  AdjustRangeValueCallback adjustRangeValueCallback;
-
135  std::map<String, GenericRangeValueCallback> genericAdjustRangeValueCallback;
-
136 };
-
137 
-
138 template <typename T>
- -
140 : event_limiter(EVENT_LIMIT_STATE) {
-
141  T* device = static_cast<T*>(this);
-
142  device->registerRequestHandler(std::bind(&RangeController<T>::handleRangeController, this, std::placeholders::_1));
-
143 }
-
144 
-
151 template <typename T>
-
152 void RangeController<T>::onRangeValue(SetRangeValueCallback cb) {
-
153  setRangeValueCallback = cb;
-
154 }
-
155 
-
163 template <typename T>
- -
165  genericSetRangeValueCallback[instance] = GenericRangeValueCallback(cb);
-
166 }
-
167 
-
168 template <typename T>
-
169 void RangeController<T>::onRangeValue(const String& instance, GenericSetRangeValueCallback_float cb) {
-
170  genericSetRangeValueCallback[instance] = GenericRangeValueCallback(cb);
-
171 }
-
172 
-
179 template <typename T>
- -
181  adjustRangeValueCallback = cb;
-
182 }
-
183 
-
184 template <typename T>
- -
186  genericAdjustRangeValueCallback[instance] = GenericRangeValueCallback(cb);
-
187 }
-
188 
-
189 template <typename T>
-
190 void RangeController<T>::onAdjustRangeValue(const String &instance, GenericAdjustRangeValueCallback_float cb) {
-
191  genericAdjustRangeValueCallback[instance] = GenericRangeValueCallback(cb);
-
192 }
-
193 
-
203 template <typename T>
-
204 bool RangeController<T>::sendRangeValueEvent(int rangeValue, String cause) {
-
205  if (event_limiter) return false;
-
206  T* device = static_cast<T*>(this);
-
207 
-
208  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_RANGE_setRangeValue, cause.c_str());
-
209  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
210  event_value[FSTR_RANGE_rangeValue] = rangeValue;
-
211  return device->sendEvent(eventMessage);
-
212 }
-
213 
-
224 template <typename T>
-
225 bool RangeController<T>::sendRangeValueEvent(const String& instance, int rangeValue, String cause){
-
226  if (event_limiter_generic.find(instance) == event_limiter_generic.end()) event_limiter_generic[instance] = EventLimiter(EVENT_LIMIT_STATE);
-
227  if (event_limiter_generic[instance]) return false;
-
228  T* device = static_cast<T*>(this);
-
229 
-
230  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_RANGE_setRangeValue, cause.c_str());
-
231  eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_instanceId] = instance;
-
232 
-
233  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
234  event_value[FSTR_RANGE_rangeValue] = rangeValue;
-
235  return device->sendEvent(eventMessage);
-
236 }
-
237 
-
238 template <typename T>
-
239 bool RangeController<T>::sendRangeValueEvent(const String& instance, float rangeValue, String cause) {
-
240  if (event_limiter_generic.find(instance) == event_limiter_generic.end()) event_limiter_generic[instance] = EventLimiter(EVENT_LIMIT_STATE);
-
241  if (event_limiter_generic[instance]) return false;
-
242  T* device = static_cast<T*>(this);
-
243 
-
244  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_RANGE_setRangeValue, cause.c_str());
-
245  eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_instanceId] = instance;
-
246 
-
247  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
248  event_value[FSTR_RANGE_rangeValue] = rangeValue;
-
249  return device->sendEvent(eventMessage);
-
250 }
-
251 
-
252 template <typename T>
-
253 bool RangeController<T>::handleRangeController(SinricProRequest &request) {
-
254  T* device = static_cast<T*>(this);
-
255 
-
256  bool success = false;
-
257 
-
258  if (request.action == FSTR_RANGE_setRangeValue) {
-
259 
-
260  if (request.instance == "") {
-
261 
-
262  int rangeValue = request.request_value[FSTR_RANGE_rangeValue];
-
263  if (setRangeValueCallback) success = setRangeValueCallback(device->deviceId, rangeValue);
-
264  request.response_value[FSTR_RANGE_rangeValue] = rangeValue;
-
265  return success;
-
266 
-
267  } else {
-
268 
-
269  if (genericSetRangeValueCallback.find(request.instance) == genericSetRangeValueCallback.end()) return false;
-
270 
-
271  auto& cb = genericSetRangeValueCallback[request.instance];
-
272 
-
273  if (cb.type == GenericRangeValueCallback::type_float) {
-
274  float value = request.request_value[FSTR_RANGE_rangeValue];
-
275  success = cb.cb_float(device->deviceId, request.instance, value);
-
276  request.response_value[FSTR_RANGE_rangeValue] = value;
-
277  return success;
-
278  }
-
279 
-
280  if (cb.type == GenericRangeValueCallback::type_int) {
-
281  int value = request.request_value[FSTR_RANGE_rangeValue];
-
282  success = cb.cb_int(device->deviceId, request.instance, value);
-
283  request.response_value[FSTR_RANGE_rangeValue] = value;
-
284  return success;
-
285  }
-
286  }
-
287  }
-
288 
-
289  if (request.action == FSTR_RANGE_adjustRangeValue) {
-
290 
-
291  if (request.instance == "") {
-
292 
-
293  int rangeValue = request.request_value[FSTR_RANGE_rangeValueDelta];
-
294  if (adjustRangeValueCallback) success = adjustRangeValueCallback(device->deviceId, rangeValue);
-
295  request.response_value[FSTR_RANGE_rangeValue] = rangeValue;
-
296  return success;
-
297 
-
298  } else {
-
299 
-
300  if (genericAdjustRangeValueCallback.find(request.instance) == genericAdjustRangeValueCallback.end()) return false;
-
301 
-
302  auto& cb = genericAdjustRangeValueCallback[request.instance];
-
303 
-
304  if (cb.type == GenericRangeValueCallback::type_float) {
-
305  float value = request.request_value[FSTR_RANGE_rangeValueDelta];
-
306  success = cb.cb_float(device->deviceId, request.instance, value);
-
307  request.response_value[FSTR_RANGE_rangeValue] = value;
-
308  return success;
-
309  }
-
310 
-
311  if (cb.type == GenericRangeValueCallback::type_int) {
-
312  int value = request.request_value[FSTR_RANGE_rangeValueDelta];
-
313  success = cb.cb_int(device->deviceId, request.instance, value);
-
314  request.response_value[FSTR_RANGE_rangeValue] = value;
-
315  return success;
-
316  }
-
317  }
-
318  }
-
319 
-
320  return false;
-
321 }
-
322 
-
323 } // SINRICPRO_NAMESPACE
-
324 
-
325 template <typename T>
-
326 using RangeController = SINRICPRO_NAMESPACE::RangeController<T>;
-
RangeControllerFloatInt.
Definition: RangeController.h:109
-
bool sendRangeValueEvent(int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send rangeValue event to report curent rangeValue to SinricPro server.
Definition: RangeController.h:204
-
void onRangeValue(const String &instance, GenericSetRangeValueCallback_int cb)
Set callback function for setRangeValue request on a specific instance (custom device)
Definition: RangeController.h:164
-
void onRangeValue(SetRangeValueCallback cb)
Set callback function for setRangeValue request.
Definition: RangeController.h:152
-
bool sendRangeValueEvent(const String &instance, int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send rangeValue event to report curent rangeValue to SinricPro server for a specific instance (custom...
Definition: RangeController.h:225
-
void onAdjustRangeValue(AdjustRangeValueCallback cb)
Set callback function for adjustRangeValue request.
Definition: RangeController.h:180
-
bool(*)(const String &, const String &, int &) GenericRangeValueCallback_int
Callback definition for onRangeValue function.
Definition: RangeController.h:30
-
GenericRangeValueCallback_int GenericSetRangeValueCallback_int
Callback definition for onRangeValue function on a specific instance.
Definition: RangeController.h:65
-
bool(*)(const String &, int &) AdjustRangeValueCallback
Callback definition for onAdjustRangeValue function.
Definition: RangeController.h:82
-
GenericRangeValueCallback_int GenericAdjustRangeValueCallback_int
Callback definition for onAdjustRangeValue function on a specific instance for custom devices.
Definition: RangeController.h:99
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../EventLimiter.h"
+
5#include "../SinricProStrings.h"
+
6
+
7#include "../SinricProNamespace.h"
+
8namespace SINRICPRO_NAMESPACE {
+
9
+
10FSTR(RANGE, setRangeValue); // "setRangeValue"
+
11FSTR(RANGE, rangeValue); // "rangeValue"
+
12FSTR(RANGE, adjustRangeValue); // "adjustRangeValue"
+
13FSTR(RANGE, rangeValueDelta); // "rangeValueDelta"
+
14
+
30using GenericRangeValueCallback_int = bool (*)(const String &, const String &, int &);
+
31using GenericRangeValueCallback_float = bool (*)(const String &, const String &, float &);
+
32
+
33struct GenericRangeValueCallback {
+
34 GenericRangeValueCallback() : type(type_unknown) {}
+
35 GenericRangeValueCallback(GenericRangeValueCallback_int cb) : type(type_int), cb_int(cb) {}
+
36 GenericRangeValueCallback(GenericRangeValueCallback_float cb) : type(type_float), cb_float(cb) {}
+
37 enum {
+
38 type_unknown,
+
39 type_int,
+
40 type_float
+
41 } type;
+
42 union {
+ +
44 GenericRangeValueCallback_float cb_float;
+
45 };
+
46};
+
47
+
48using SetRangeValueCallback = bool (*)(const String &, int &);
+
49
+ +
66 using GenericSetRangeValueCallback_float = GenericRangeValueCallback_float;
+
67
+
82using AdjustRangeValueCallback = bool (*)(const String &, int &);
+
83
+ +
100using GenericAdjustRangeValueCallback_float = GenericRangeValueCallback_float;
+
101
+
102
+
103
+
108template <typename T>
+
+ +
110 public:
+
111
+ +
113
+
+ +
+
115 void onRangeValue(const String& instance, GenericSetRangeValueCallback_int cb);
+
116 void onRangeValue(const String& instance, GenericSetRangeValueCallback_float cb);
+
117
+
+ +
119 void onAdjustRangeValue(const String& instance, GenericAdjustRangeValueCallback_int cb);
+
120 void onAdjustRangeValue(const String& instance, GenericAdjustRangeValueCallback_float cb);
+
121
+
+ +
+
123 bool sendRangeValueEvent(const String& instance, int rangeValue, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
+
124 bool sendRangeValueEvent(const String& instance, float rangeValue, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
+
125
+
126 protected:
+
127 bool handleRangeController(SinricProRequest &request);
+
128
+
129 private:
+
130 EventLimiter event_limiter;
+
131 std::map<String, EventLimiter> event_limiter_generic;
+
132 SetRangeValueCallback setRangeValueCallback;
+
133 std::map<String, GenericRangeValueCallback> genericSetRangeValueCallback;
+
134 AdjustRangeValueCallback adjustRangeValueCallback;
+
135 std::map<String, GenericRangeValueCallback> genericAdjustRangeValueCallback;
+
136};
+
137
+
138template <typename T>
+ +
140: event_limiter(EVENT_LIMIT_STATE) {
+
141 T* device = static_cast<T*>(this);
+
142 device->registerRequestHandler(std::bind(&RangeController<T>::handleRangeController, this, std::placeholders::_1));
+
143}
+
144
+
151template <typename T>
+
+
152void RangeController<T>::onRangeValue(SetRangeValueCallback cb) {
+
153 setRangeValueCallback = cb;
+
154}
+
+
155
+
163template <typename T>
+
+ +
165 genericSetRangeValueCallback[instance] = GenericRangeValueCallback(cb);
+
166}
+
+
167
+
168template <typename T>
+ +
170 genericSetRangeValueCallback[instance] = GenericRangeValueCallback(cb);
+
171}
+
172
+
179template <typename T>
+
+ +
181 adjustRangeValueCallback = cb;
+
182}
+
+
183
+
184template <typename T>
+ +
186 genericAdjustRangeValueCallback[instance] = GenericRangeValueCallback(cb);
+
187}
+
188
+
189template <typename T>
+
190void RangeController<T>::onAdjustRangeValue(const String &instance, GenericAdjustRangeValueCallback_float cb) {
+
191 genericAdjustRangeValueCallback[instance] = GenericRangeValueCallback(cb);
+
192}
+
193
+
203template <typename T>
+
+ +
205 if (event_limiter) return false;
+
206 T* device = static_cast<T*>(this);
+
207
+ + + +
211 return device->sendEvent(eventMessage);
+
212}
+
+
213
+
224template <typename T>
+
+
225bool RangeController<T>::sendRangeValueEvent(const String& instance, int rangeValue, String cause){
+
226 if (event_limiter_generic.find(instance) == event_limiter_generic.end()) event_limiter_generic[instance] = EventLimiter(EVENT_LIMIT_STATE);
+
227 if (event_limiter_generic[instance]) return false;
+
228 T* device = static_cast<T*>(this);
+
229
+ + +
232
+ + +
235 return device->sendEvent(eventMessage);
+
236}
+
+
+
237
+
238template <typename T>
+
239bool RangeController<T>::sendRangeValueEvent(const String& instance, float rangeValue, String cause) {
+
240 if (event_limiter_generic.find(instance) == event_limiter_generic.end()) event_limiter_generic[instance] = EventLimiter(EVENT_LIMIT_STATE);
+
241 if (event_limiter_generic[instance]) return false;
+
242 T* device = static_cast<T*>(this);
+
243
+ + +
246
+ + +
249 return device->sendEvent(eventMessage);
+
250}
+
251
+
252template <typename T>
+
253bool RangeController<T>::handleRangeController(SinricProRequest &request) {
+
254 T* device = static_cast<T*>(this);
+
255
+
256 bool success = false;
+
257
+
258 if (request.action == FSTR_RANGE_setRangeValue) {
+
259
+
260 if (request.instance == "") {
+
261
+
262 int rangeValue = request.request_value[FSTR_RANGE_rangeValue];
+
263 if (setRangeValueCallback) success = setRangeValueCallback(device->deviceId, rangeValue);
+
264 request.response_value[FSTR_RANGE_rangeValue] = rangeValue;
+
265 return success;
+
266
+
267 } else {
+
268
+
269 if (genericSetRangeValueCallback.find(request.instance) == genericSetRangeValueCallback.end()) return false;
+
270
+
271 auto& cb = genericSetRangeValueCallback[request.instance];
+
272
+
273 if (cb.type == GenericRangeValueCallback::type_float) {
+
274 float value = request.request_value[FSTR_RANGE_rangeValue];
+
275 success = cb.cb_float(device->deviceId, request.instance, value);
+
276 request.response_value[FSTR_RANGE_rangeValue] = value;
+
277 return success;
+
278 }
+
279
+
280 if (cb.type == GenericRangeValueCallback::type_int) {
+
281 int value = request.request_value[FSTR_RANGE_rangeValue];
+
282 success = cb.cb_int(device->deviceId, request.instance, value);
+
283 request.response_value[FSTR_RANGE_rangeValue] = value;
+
284 return success;
+
285 }
+
286 }
+
287 }
+
288
+
289 if (request.action == FSTR_RANGE_adjustRangeValue) {
+
290
+
291 if (request.instance == "") {
+
292
+
293 int rangeValue = request.request_value[FSTR_RANGE_rangeValueDelta];
+
294 if (adjustRangeValueCallback) success = adjustRangeValueCallback(device->deviceId, rangeValue);
+
295 request.response_value[FSTR_RANGE_rangeValue] = rangeValue;
+
296 return success;
+
297
+
298 } else {
+
299
+
300 if (genericAdjustRangeValueCallback.find(request.instance) == genericAdjustRangeValueCallback.end()) return false;
+
301
+
302 auto& cb = genericAdjustRangeValueCallback[request.instance];
+
303
+
304 if (cb.type == GenericRangeValueCallback::type_float) {
+
305 float value = request.request_value[FSTR_RANGE_rangeValueDelta];
+
306 success = cb.cb_float(device->deviceId, request.instance, value);
+
307 request.response_value[FSTR_RANGE_rangeValue] = value;
+
308 return success;
+
309 }
+
310
+
311 if (cb.type == GenericRangeValueCallback::type_int) {
+
312 int value = request.request_value[FSTR_RANGE_rangeValueDelta];
+
313 success = cb.cb_int(device->deviceId, request.instance, value);
+
314 request.response_value[FSTR_RANGE_rangeValue] = value;
+
315 return success;
+
316 }
+
317 }
+
318 }
+
319
+
320 return false;
+
321}
+
322
+
323} // SINRICPRO_NAMESPACE
+
324
+
325template <typename T>
+
326using RangeController = SINRICPRO_NAMESPACE::RangeController<T>;
+
+
+
+
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
RangeControllerFloatInt.
Definition RangeController.h:109
+
bool sendRangeValueEvent(int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send rangeValue event to report curent rangeValue to SinricPro server.
Definition RangeController.h:204
+
void onRangeValue(const String &instance, GenericSetRangeValueCallback_int cb)
Set callback function for setRangeValue request on a specific instance (custom device)
Definition RangeController.h:164
+
void onRangeValue(SetRangeValueCallback cb)
Set callback function for setRangeValue request.
Definition RangeController.h:152
+
bool sendRangeValueEvent(const String &instance, int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send rangeValue event to report curent rangeValue to SinricPro server for a specific instance (custom...
Definition RangeController.h:225
+
void onAdjustRangeValue(AdjustRangeValueCallback cb)
Set callback function for adjustRangeValue request.
Definition RangeController.h:180
+
bool(*)(const String &, const String &, int &) GenericRangeValueCallback_int
Callback definition for onRangeValue function.
Definition RangeController.h:30
+
GenericRangeValueCallback_int GenericSetRangeValueCallback_int
Callback definition for onRangeValue function on a specific instance.
Definition RangeController.h:65
+
bool(*)(const String &, int &) AdjustRangeValueCallback
Callback definition for onAdjustRangeValue function.
Definition RangeController.h:82
diff --git a/docs/_setting_controller_8h_source.html b/docs/_setting_controller_8h_source.html index feb2615..52b22ae 100644 --- a/docs/_setting_controller_8h_source.html +++ b/docs/_setting_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/SettingController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/SettingController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,83 +81,89 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SettingController.h
+
SettingController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../SinricProStrings.h"
-
5 
-
6 #include "../SinricProNamespace.h"
-
7 namespace SINRICPRO_NAMESPACE {
-
8 
-
9 using SetSettingCallback = std::function<bool(const String&, const String&, String&)>;
-
10 
-
11 FSTR(SETTING, setSetting); // "setSetting"
-
12 FSTR(SETTING, id); // "id"
-
13 FSTR(SETTING, value); // "value"
-
14 
-
15 template <typename T>
-
16 class SettingController {
-
17  public:
-
18  SettingController();
-
19  void onSetSetting(SetSettingCallback cb);
-
20 
-
21  protected:
-
22  bool handleSettingController(SinricProRequest &request);
-
23 
-
24  private:
-
25  SetSettingCallback setSettingCallback;
-
26 };
-
27 
-
28 template <typename T>
-
29 SettingController<T>::SettingController() {
-
30  T* device = static_cast<T*>(this);
-
31  device->registerRequestHandler(std::bind(&SettingController<T>::handleSettingController, this, std::placeholders::_1));
-
32 }
-
33 
-
34 template <typename T>
-
35 void SettingController<T>::onSetSetting(SetSettingCallback cb) {
-
36  setSettingCallback = cb;
-
37 }
-
38 
-
39 template <typename T>
-
40 bool SettingController<T>::handleSettingController(SinricProRequest &request) {
-
41  T* device = static_cast<T*>(this);
-
42 
-
43  bool success = false;
-
44 
-
45  if (setSettingCallback && request.action == FSTR_SETTING_setSetting) {
-
46  String settingId = request.request_value[FSTR_SETTING_id] | "";
-
47  String settingValue = request.request_value[FSTR_SETTING_value] | "";
-
48  success = setSettingCallback(device->deviceId, settingId, settingValue);
-
49  request.response_value[FSTR_SETTING_id] = settingId;
-
50  request.response_value[FSTR_SETTING_value] = settingValue;
-
51  return success;
-
52  }
-
53 
-
54  return success;
-
55 }
-
56 
-
57 } // SINRICPRO_NAMESPACE
-
58 
-
59 template <typename T>
-
60 using SettingController = SINRICPRO_NAMESPACE::SettingController<T>;
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../SinricProStrings.h"
+
5
+
6#include "../SinricProNamespace.h"
+
7namespace SINRICPRO_NAMESPACE {
+
8
+
9using SetSettingCallback = std::function<bool(const String&, const String&, String&)>;
+
10
+
11FSTR(SETTING, setSetting); // "setSetting"
+
12FSTR(SETTING, id); // "id"
+
13FSTR(SETTING, value); // "value"
+
14
+
15template <typename T>
+
16class SettingController {
+
17 public:
+
18 SettingController();
+
19 void onSetSetting(SetSettingCallback cb);
+
20
+
21 protected:
+
22 bool handleSettingController(SinricProRequest &request);
+
23
+
24 private:
+
25 SetSettingCallback setSettingCallback;
+
26};
+
27
+
28template <typename T>
+
29SettingController<T>::SettingController() {
+
30 T* device = static_cast<T*>(this);
+
31 device->registerRequestHandler(std::bind(&SettingController<T>::handleSettingController, this, std::placeholders::_1));
+
32}
+
33
+
34template <typename T>
+
35void SettingController<T>::onSetSetting(SetSettingCallback cb) {
+
36 setSettingCallback = cb;
+
37}
+
38
+
39template <typename T>
+
40bool SettingController<T>::handleSettingController(SinricProRequest &request) {
+
41 T* device = static_cast<T*>(this);
+
42
+
43 bool success = false;
+
44
+
45 if (setSettingCallback && request.action == FSTR_SETTING_setSetting) {
+
46 String settingId = request.request_value[FSTR_SETTING_id] | "";
+
47 String settingValue = request.request_value[FSTR_SETTING_value] | "";
+
48 success = setSettingCallback(device->deviceId, settingId, settingValue);
+
49 request.response_value[FSTR_SETTING_id] = settingId;
+
50 request.response_value[FSTR_SETTING_value] = settingValue;
+
51 return success;
+
52 }
+
53
+
54 return success;
+
55}
+
56
+
57} // SINRICPRO_NAMESPACE
+
58
+
59template <typename T>
+
60using SettingController = SINRICPRO_NAMESPACE::SettingController<T>;
diff --git a/docs/_sinric_pro_8h_source.html b/docs/_sinric_pro_8h_source.html index 98d6749..a6a9e18 100644 --- a/docs/_sinric_pro_8h_source.html +++ b/docs/_sinric_pro_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricPro.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricPro.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,499 +81,541 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricPro.h
+
SinricPro.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #include "SinricProInterface.h"
-
11 #include "SinricProDeviceInterface.h"
-
12 #include "SinricProWebsocket.h"
-
13 #include "SinricProUDP.h"
-
14 #include "SinricProSignature.h"
-
15 #include "SinricProMessageid.h"
-
16 #include "SinricProQueue.h"
-
17 #include "SinricProStrings.h"
-
18 
-
19 #include "SinricProNamespace.h"
-
20 namespace SINRICPRO_NAMESPACE {
-
21 
-
29 using ConnectedCallbackHandler = std::function<void(void)>;
-
30 
-
38 using DisconnectedCallbackHandler = std::function<void(void)>;
-
39 
-
45 class SinricProClass : public SinricProInterface {
-
46  friend class SinricProDevice;
-
47 
-
48  public:
-
49  void begin(String appKey, String appSecret, String serverURL = SINRICPRO_SERVER_URL);
-
50  void handle();
-
51  void stop();
-
52  bool isConnected();
-
53  void onConnected(ConnectedCallbackHandler cb);
-
54  void onDisconnected(DisconnectedCallbackHandler cb);
-
55  void onPong(std::function<void(uint32_t)> cb);
-
56  void restoreDeviceStates(bool flag);
-
57  void setResponseMessage(String &&message);
-
58  unsigned long getTimestamp() override;
-
59 
-
60  struct proxy {
-
61  proxy(SinricProClass* ptr, String deviceId) : ptr(ptr), deviceId(deviceId) {}
-
62  SinricProClass* ptr;
-
63  String deviceId;
-
64  template <typename DeviceType>
-
65  operator DeviceType&() { return as<DeviceType>(); }
-
66  template <typename DeviceType>
-
67  DeviceType& as() { return ptr->getDeviceInstance<DeviceType>(deviceId); }
-
68  };
-
69 
-
70  proxy operator[](const String deviceId);
-
71  protected:
-
72  template <typename DeviceType>
-
73  DeviceType& add(String deviceId);
-
74 
-
75  void add(SinricProDeviceInterface &newDevice);
-
76  void add(SinricProDeviceInterface *newDevice);
-
77 
-
78  DynamicJsonDocument prepareResponse(JsonDocument &requestMessage);
-
79  DynamicJsonDocument prepareEvent(String deviceId, const char *action, const char *cause) override;
-
80  void sendMessage(JsonDocument &jsonMessage) override;
-
81 
-
82  private:
-
83  void handleReceiveQueue();
-
84  void handleSendQueue();
-
85 
-
86  void handleRequest(DynamicJsonDocument& requestMessage, interface_t Interface);
-
87  void handleResponse(DynamicJsonDocument& responseMessage);
-
88 
-
89  DynamicJsonDocument prepareRequest(String deviceId, const char* action);
-
90 
-
91  void connect();
-
92  void disconnect();
-
93  void reconnect();
-
94 
-
95  void onConnect();
-
96  void onDisconnect();
-
97 
-
98  void extractTimestamp(JsonDocument &message);
-
99 
-
100  SinricProDeviceInterface* getDevice(String deviceId);
-
101 
-
102  template <typename DeviceType>
-
103  DeviceType& getDeviceInstance(String deviceId);
-
104 
-
105  std::vector<SinricProDeviceInterface*> devices;
-
106 
-
107  String appKey;
-
108  String appSecret;
-
109  String serverURL;
-
110 
-
111  WebsocketListener _websocketListener;
-
112  UdpListener _udpListener;
-
113  SinricProQueue_t receiveQueue;
-
114  SinricProQueue_t sendQueue;
-
115 
-
116  unsigned long baseTimestamp = 0;
-
117 
-
118  bool _begin = false;
-
119  String responseMessageStr = "";
-
120 };
-
121 
-
122 SinricProDeviceInterface* SinricProClass::getDevice(String deviceId) {
-
123  for (auto& device : devices) {
-
124  if (deviceId == device->getDeviceId()) return device;
-
125  }
-
126  return nullptr;
-
127 }
-
128 
-
129 template <typename DeviceType>
-
130 DeviceType& SinricProClass::getDeviceInstance(String deviceId) {
-
131  DeviceType* tmp_device = (DeviceType*) getDevice(deviceId);
-
132  if (tmp_device) return *tmp_device;
-
133 
-
134  DEBUG_SINRIC("[SinricPro]: Device \"%s\" does not exist. Creating new device\r\n", deviceId.c_str());
-
135  DeviceType& tmp_deviceInstance = add<DeviceType>(deviceId);
-
136 
-
137  if (isConnected()) {
-
138  DEBUG_SINRIC("[SinricPro]: Reconnecting to server.\r\n");
-
139  reconnect();
-
140  }
-
141 
-
142  return tmp_deviceInstance;
-
143 }
-
144 
-
161 void SinricProClass::begin(String appKey, String appSecret, String serverURL) {
-
162  bool success = true;
-
163  if (!appKey.length()) {
-
164  DEBUG_SINRIC("[SinricPro:begin()]: App-Key \"%s\" is invalid!! Please check your app-key!! SinricPro will not work!\r\n", appKey.c_str());
-
165  success = false;
-
166  }
-
167  if (!appSecret.length()) {
-
168  DEBUG_SINRIC("[SinricPro:begin()]: App-Secret \"%s\" is invalid!! Please check your app-secret!! SinricPro will not work!\r\n", appSecret.c_str());
-
169  success = false;
-
170  }
-
171 
-
172  if(!success) {
-
173  _begin = false;
-
174  return;
-
175  }
-
176 
-
177  this->appKey = appKey;
-
178  this->appSecret = appSecret;
-
179  this->serverURL = serverURL;
-
180  _begin = true;
-
181  _udpListener.begin(&receiveQueue);
-
182 }
-
183 
-
184 template <typename DeviceType>
-
185 DeviceType& SinricProClass::add(String deviceId) {
-
186 
-
187  DeviceType* newDevice = new DeviceType(deviceId);
-
188  DEBUG_SINRIC("[SinricPro:add()]: Adding device with id \"%s\".\r\n", deviceId.c_str());
-
189  newDevice->begin(this);
-
190 
-
191  devices.push_back(newDevice);
-
192  return *newDevice;
-
193 }
-
194 
-
195 __attribute__ ((deprecated("Please use DeviceType& myDevice = SinricPro.add<DeviceType>(String);")))
-
196 void SinricProClass::add(SinricProDeviceInterface* newDevice) {
-
197  newDevice->begin(this);
-
198  devices.push_back(newDevice);
-
199 }
-
200 
-
201 __attribute__ ((deprecated("Please use DeviceType& myDevice = SinricPro.add<DeviceType>(String);")))
-
202 void SinricProClass::add(SinricProDeviceInterface& newDevice) {
-
203  newDevice.begin(this);
-
204  devices.push_back(&newDevice);
-
205 }
-
206 
-
222 void SinricProClass::handle() {
-
223  static bool begin_error = false;
-
224  if (!_begin) {
-
225  if (!begin_error) { // print this only once!
-
226  DEBUG_SINRIC("[SinricPro:handle()]: ERROR! SinricPro.begin() failed or was not called prior to event handler\r\n");
-
227  DEBUG_SINRIC("[SinricPro:handle()]: -Reasons include an invalid app-key, invalid app-secret or no valid deviceIds)\r\n");
-
228  DEBUG_SINRIC("[SinricPro:handle()]: -SinricPro is disabled! Check earlier log messages for details.\r\n");
-
229  begin_error = true;
-
230  }
-
231  return;
-
232  }
-
233 
-
234  if (WiFi.isConnected()) {
-
235 
-
236  if (!isConnected()) connect();
-
237  _websocketListener.handle();
-
238  _udpListener.handle();
-
239 
-
240  }
-
241 
-
242  handleReceiveQueue();
-
243  handleSendQueue();
-
244 }
-
245 
-
246 DynamicJsonDocument SinricProClass::prepareRequest(String deviceId, const char* action) {
-
247  DynamicJsonDocument requestMessage(1024);
-
248  JsonObject header = requestMessage.createNestedObject(FSTR_SINRICPRO_header);
-
249  header[FSTR_SINRICPRO_payloadVersion] = 2;
-
250  header[FSTR_SINRICPRO_signatureVersion] = 1;
-
251 
-
252  JsonObject payload = requestMessage.createNestedObject(FSTR_SINRICPRO_payload);
-
253  payload[FSTR_SINRICPRO_action] = action;
-
254  payload[FSTR_SINRICPRO_createdAt] = 0;
-
255  payload[FSTR_SINRICPRO_deviceId] = deviceId;
-
256  payload[FSTR_SINRICPRO_replyToken] = MessageID().getID();
-
257  payload[FSTR_SINRICPRO_type] = FSTR_SINRICPRO_request;
-
258  payload.createNestedObject(FSTR_SINRICPRO_value);
-
259  return requestMessage;
-
260 }
-
261 
-
262 void SinricProClass::handleResponse(DynamicJsonDocument& responseMessage) {
-
263  (void) responseMessage;
-
264  DEBUG_SINRIC("[SinricPro.handleResponse()]:\r\n");
-
265 
-
266  #ifndef NODEBUG_SINRIC
-
267  serializeJsonPretty(responseMessage, DEBUG_ESP_PORT);
-
268  Serial.println();
-
269  #endif
-
270 }
-
271 
-
272 void SinricProClass::handleRequest(DynamicJsonDocument& requestMessage, interface_t Interface) {
-
273  DEBUG_SINRIC("[SinricPro.handleRequest()]: handling request\r\n");
-
274  #ifndef NODEBUG_SINRIC
-
275  serializeJsonPretty(requestMessage, DEBUG_ESP_PORT);
-
276  #endif
-
277 
-
278  DynamicJsonDocument responseMessage = prepareResponse(requestMessage);
-
279 
-
280  // handle devices
-
281  bool success = false;
-
282  const char* deviceId = requestMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_deviceId];
-
283  String action = requestMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_action] | "";
-
284  String instance = requestMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_instanceId] | "";
-
285  JsonObject request_value = requestMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
286  JsonObject response_value = responseMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
287 
-
288  for (auto& device : devices) {
-
289  if (device->getDeviceId() == deviceId && success == false) {
-
290  SinricProRequest request {
-
291  action,
-
292  instance,
-
293  request_value,
-
294  response_value
-
295  };
-
296  success = device->handleRequest(request);
-
297  responseMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_success] = success;
-
298  if (!success) {
-
299  if (responseMessageStr.length() > 0){
-
300  responseMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_message] = responseMessageStr;
-
301  responseMessageStr = "";
-
302  } else {
-
303  responseMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_message] = "Device did not handle \""+ action + "\"";
-
304  }
-
305  }
-
306  }
-
307  }
-
308 
-
309  String responseString;
-
310  serializeJson(responseMessage, responseString);
-
311  sendQueue.push(new SinricProMessage(Interface, responseString.c_str()));
-
312 }
-
313 
-
314 void SinricProClass::handleReceiveQueue() {
-
315  if (receiveQueue.size() == 0) return;
-
316 
-
317  DEBUG_SINRIC("[SinricPro.handleReceiveQueue()]: %i message(s) in receiveQueue\r\n", receiveQueue.size());
-
318  while (receiveQueue.size() > 0) {
-
319  SinricProMessage* rawMessage = receiveQueue.front();
-
320  receiveQueue.pop();
-
321  DynamicJsonDocument jsonMessage(1024);
-
322  deserializeJson(jsonMessage, rawMessage->getMessage());
-
323 
-
324  bool sigMatch = false;
-
325 
-
326  if (strncmp(rawMessage->getMessage(), "{\"timestamp\":", 13) == 0 && strlen(rawMessage->getMessage()) <= 26) {
-
327  sigMatch=true; // timestamp message has no signature...ignore sigMatch for this!
-
328  } else {
-
329  String signature = jsonMessage[FSTR_SINRICPRO_signature][FSTR_SINRICPRO_HMAC] | "";
-
330  String payload = extractPayload(rawMessage->getMessage());
-
331  String calculatedSignature = calculateSignature(appSecret.c_str(), payload);
-
332  sigMatch = (calculatedSignature == signature);
-
333  }
-
334 
-
335  String messageType = jsonMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_type];
-
336 
-
337  if (sigMatch) { // signature is valid process message
-
338  DEBUG_SINRIC("[SinricPro.handleReceiveQueue()]: Signature is valid. Processing message...\r\n");
-
339  extractTimestamp(jsonMessage);
-
340  if (messageType == FSTR_SINRICPRO_response) handleResponse(jsonMessage);
-
341  if (messageType == FSTR_SINRICPRO_request) handleRequest(jsonMessage, rawMessage->getInterface());
-
342  } else {
-
343  DEBUG_SINRIC("[SinricPro.handleReceiveQueue()]: Signature is invalid! Sending messsage to [dev/null] ;)\r\n");
-
344  }
-
345  delete rawMessage;
-
346  }
-
347 }
-
348 
-
349 void SinricProClass::handleSendQueue() {
-
350  if (!isConnected()) return;
-
351  if (!baseTimestamp) return;
-
352  while (sendQueue.size() > 0) {
-
353  DEBUG_SINRIC("[SinricPro:handleSendQueue()]: %i message(s) in sendQueue\r\n", sendQueue.size());
-
354  DEBUG_SINRIC("[SinricPro:handleSendQueue()]: Sending message...\r\n");
-
355 
-
356  SinricProMessage* rawMessage = sendQueue.front(); sendQueue.pop();
-
357 
-
358  DynamicJsonDocument jsonMessage(1024);
-
359  deserializeJson(jsonMessage, rawMessage->getMessage());
-
360  jsonMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_createdAt] = getTimestamp();
-
361  signMessage(appSecret, jsonMessage);
-
362 
-
363  String messageStr;
-
364 
-
365  serializeJson(jsonMessage, messageStr);
-
366  #ifndef NODEBUG_SINRIC
-
367  serializeJsonPretty(jsonMessage, DEBUG_ESP_PORT);
-
368  Serial.println();
-
369  #endif
-
370 
-
371  switch (rawMessage->getInterface()) {
-
372  case IF_WEBSOCKET: DEBUG_SINRIC("[SinricPro:handleSendQueue]: Sending to websocket\r\n"); _websocketListener.sendMessage(messageStr); break;
-
373  case IF_UDP: DEBUG_SINRIC("[SinricPro:handleSendQueue]: Sending to UDP\r\n");_udpListener.sendMessage(messageStr); break;
-
374  default: break;
-
375  }
-
376  delete rawMessage;
-
377  DEBUG_SINRIC("[SinricPro:handleSendQueue()]: message sent.\r\n");
-
378  }
-
379 }
-
380 
-
381 void SinricProClass::connect() {
-
382  String deviceList;
-
383  int i = 0;
-
384  for (auto& device : devices) {
-
385  String deviceId = device->getDeviceId();
-
386  if (i>0) deviceList += ';';
-
387  deviceList += device->getDeviceId();
-
388  i++;
-
389  }
-
390 
-
391  _websocketListener.begin(serverURL, appKey, deviceList, &receiveQueue);
-
392 }
-
393 
-
394 
-
395 void SinricProClass::stop() {
-
396  _begin = false;
-
397  DEBUG_SINRIC("[SinricPro:stop()\r\n");
-
398  _websocketListener.stop();
-
399 }
-
400 
-
401 bool SinricProClass::isConnected() {
-
402  return _websocketListener.isConnected();
-
403 };
-
404 
-
414 void SinricProClass::onConnected(ConnectedCallbackHandler cb) {
-
415  _websocketListener.onConnected(cb);
-
416 }
-
417 
-
427 void SinricProClass::onDisconnected(DisconnectedCallbackHandler cb) {
-
428  _websocketListener.onDisconnected(cb);
-
429 }
-
430 
-
431 void SinricProClass::onPong(std::function<void(uint32_t)> cb) {
-
432  _websocketListener.onPong(cb);
-
433 }
-
434 
-
435 
-
436 void SinricProClass::reconnect() {
-
437  DEBUG_SINRIC("SinricPro:reconnect(): disconnecting\r\n");
-
438  stop();
-
439  DEBUG_SINRIC("SinricPro:reconnect(): connecting\r\n");
-
440  connect();
-
441 }
-
442 
-
443 void SinricProClass::onConnect() {
-
444  DEBUG_SINRIC("[SinricPro]: Connected to \"%s\"!]\r\n", serverURL.c_str());
-
445 }
-
446 
-
447 void SinricProClass::onDisconnect() {
-
448  DEBUG_SINRIC("[SinricPro]: Disconnect\r\n");
-
449 }
-
450 
-
451 
-
452 void SinricProClass::extractTimestamp(JsonDocument &message) {
-
453  unsigned long tempTimestamp = 0;
-
454  // extract timestamp from timestamp message right after websocket connection is established
-
455  tempTimestamp = message["timestamp"] | 0;
-
456  if (tempTimestamp) {
-
457  baseTimestamp = tempTimestamp - (millis() / 1000);
-
458  DEBUG_SINRIC("[SinricPro:extractTimestamp(): Got Timestamp %lu\r\n", tempTimestamp);
-
459  return;
-
460  }
-
461 
-
462  // extract timestamp from request message
-
463  tempTimestamp = message[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_createdAt] | 0;
-
464  if (tempTimestamp) {
-
465  DEBUG_SINRIC("[SinricPro:extractTimestamp(): Got Timestamp %lu\r\n", tempTimestamp);
-
466  baseTimestamp = tempTimestamp - (millis() / 1000);
-
467  return;
-
468  }
-
469 }
-
470 
-
471 
-
472 void SinricProClass::sendMessage(JsonDocument& jsonMessage) {
-
473  if (!isConnected()) {
-
474  DEBUG_SINRIC("[SinricPro:sendMessage()]: device is offline, message has been dropped\r\n");
-
475  return;
-
476  }
-
477  DEBUG_SINRIC("[SinricPro:sendMessage()]: pushing message into sendQueue\r\n");
-
478  String messageString;
-
479  serializeJson(jsonMessage, messageString);
-
480  sendQueue.push(new SinricProMessage(IF_WEBSOCKET, messageString.c_str()));
-
481 }
-
482 
-
492 void SinricProClass::restoreDeviceStates(bool flag) {
-
493  _websocketListener.setRestoreDeviceStates(flag);
-
494 }
-
495 
-
512 SinricProClass::proxy SinricProClass::operator[](const String deviceId) {
-
513  return proxy(this, deviceId);
-
514 }
-
515 
-
516 void SinricProClass::setResponseMessage(String &&message) {
-
517  responseMessageStr = message;
-
518 }
-
519 
-
525 unsigned long SinricProClass::getTimestamp() {
-
526  return baseTimestamp + (millis()/1000);
-
527 }
-
528 
-
529 DynamicJsonDocument SinricProClass::prepareResponse(JsonDocument& requestMessage) {
-
530  DynamicJsonDocument responseMessage(1024);
-
531  JsonObject header = responseMessage.createNestedObject(FSTR_SINRICPRO_header);
-
532  header[FSTR_SINRICPRO_payloadVersion] = 2;
-
533  header[FSTR_SINRICPRO_signatureVersion] = 1;
-
534 
-
535  JsonObject payload = responseMessage.createNestedObject(FSTR_SINRICPRO_payload);
-
536  payload[FSTR_SINRICPRO_action] = requestMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_action];
-
537  payload[FSTR_SINRICPRO_clientId] = requestMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_clientId];
-
538  payload[FSTR_SINRICPRO_createdAt] = 0;
-
539  payload[FSTR_SINRICPRO_deviceId] = requestMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_deviceId];
-
540  if (requestMessage[FSTR_SINRICPRO_payload].containsKey(FSTR_SINRICPRO_instanceId)) payload[FSTR_SINRICPRO_instanceId] = requestMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_instanceId];
-
541  payload[FSTR_SINRICPRO_message] = FSTR_SINRICPRO_OK;
-
542  payload[FSTR_SINRICPRO_replyToken] = requestMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_replyToken];
-
543  payload[FSTR_SINRICPRO_success] = false;
-
544  payload[FSTR_SINRICPRO_type] = FSTR_SINRICPRO_response;
-
545  payload.createNestedObject(FSTR_SINRICPRO_value);
-
546  return responseMessage;
-
547 }
-
548 
-
549 
-
550 DynamicJsonDocument SinricProClass::prepareEvent(String deviceId, const char* action, const char* cause) {
-
551  DynamicJsonDocument eventMessage(1024);
-
552  JsonObject header = eventMessage.createNestedObject(FSTR_SINRICPRO_header);
-
553  header[FSTR_SINRICPRO_payloadVersion] = 2;
-
554  header[FSTR_SINRICPRO_signatureVersion] = 1;
-
555 
-
556  JsonObject payload = eventMessage.createNestedObject(FSTR_SINRICPRO_payload);
-
557  payload[FSTR_SINRICPRO_action] = action;
-
558  payload[FSTR_SINRICPRO_cause].createNestedObject(FSTR_SINRICPRO_type);
-
559  payload[FSTR_SINRICPRO_cause][FSTR_SINRICPRO_type] = cause;
-
560  payload[FSTR_SINRICPRO_createdAt] = 0;
-
561  payload[FSTR_SINRICPRO_deviceId] = deviceId;
-
562  payload[FSTR_SINRICPRO_replyToken] = MessageID().getID();
-
563  payload[FSTR_SINRICPRO_type] = FSTR_SINRICPRO_event;
-
564  payload.createNestedObject(FSTR_SINRICPRO_value);
-
565  return eventMessage;
-
566 }
-
567 
-
568 } // SINRICPRO_NAMESPACE
-
569 
-
570 SINRICPRO_NAMESPACE::SinricProClass SinricPro;
-
The main class of this library, handling communication between SinricPro Server and your devices.
Definition: SinricPro.h:45
-
Base class for all device types.
Definition: SinricProDevice.h:24
-
std::function< void(void)> DisconnectedCallbackHandler
Callback definition for onDisconnected function.
Definition: SinricPro.h:38
-
std::function< void(void)> ConnectedCallbackHandler
Callback definition for onConnected function.
Definition: SinricPro.h:29
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#include "SinricProDeviceInterface.h"
+
11#include "SinricProInterface.h"
+
12#include "SinricProMessageid.h"
+
13#include "SinricProNamespace.h"
+
14#include "SinricProQueue.h"
+
15#include "SinricProSignature.h"
+
16#include "SinricProStrings.h"
+
17#include "SinricProUDP.h"
+
18#include "SinricProWebsocket.h"
+
19#include "Timestamp.h"
+
20namespace SINRICPRO_NAMESPACE {
+
21
+
29using ConnectedCallbackHandler = std::function<void(void)>;
+
30
+
38using DisconnectedCallbackHandler = std::function<void(void)>;
+
39
+
40using PongCallback = std::function<void(uint32_t)>;
+
41
+
+
47class SinricProClass : public SinricProInterface {
+
48 friend class SinricProDevice;
+
49
+
50 public:
+
51 class Proxy;
+
52
+
53 public:
+
54 void begin(String appKey, String appSecret, String serverURL = SINRICPRO_SERVER_URL);
+
55 void handle();
+
56 void stop();
+
57 bool isConnected();
+
58 void onConnected(ConnectedCallbackHandler cb);
+
59 void onDisconnected(DisconnectedCallbackHandler cb);
+
60 void onPong(PongCallback cb);
+
61 void restoreDeviceStates(bool flag);
+
62 void setResponseMessage(String&& message);
+
63 unsigned long getTimestamp() override;
+
64 Proxy operator[](const String deviceId);
+
65
+
66 protected:
+
67 template <typename DeviceType>
+
68 DeviceType& add(String deviceId);
+
69
+
70 void add(SinricProDeviceInterface& newDevice);
+
71 void add(SinricProDeviceInterface* newDevice);
+
72
+ +
74 DynamicJsonDocument prepareEvent(String deviceId, const char* action, const char* cause) override;
+
75 void sendMessage(JsonDocument& jsonMessage) override;
+
76
+
77 private:
+
78 void handleReceiveQueue();
+
79 void handleSendQueue();
+
80
+
81 void handleRequest(DynamicJsonDocument& requestMessage, interface_t Interface);
+
82 void handleResponse(DynamicJsonDocument& responseMessage);
+
83
+
84 DynamicJsonDocument prepareRequest(String deviceId, const char* action);
+
85
+
86 void connect();
+
87 void disconnect();
+
88 void reconnect();
+
89
+
90 void onConnect();
+
91 void onDisconnect();
+
92
+
93 void extractTimestamp(JsonDocument& message);
+
94
+
95 SinricProDeviceInterface* getDevice(String deviceId);
+
96
+
97 template <typename DeviceType>
+
98 DeviceType& getDeviceInstance(String deviceId);
+
99
+
100 std::vector<SinricProDeviceInterface*> devices;
+
101
+
102 String appKey;
+
103 String appSecret;
+
104 String serverURL;
+
105
+
106 WebsocketListener _websocketListener;
+
107 UdpListener _udpListener;
+
108 SinricProQueue_t receiveQueue;
+
109 SinricProQueue_t sendQueue;
+
110
+
111 Timestamp timestamp;
+
112
+
113 bool _begin = false;
+
114 String responseMessageStr = "";
+
115};
+
+
116
+
117class SinricProClass::Proxy {
+
118 public:
+
119 Proxy(SinricProClass* ptr, const String& deviceId);
+
120
+
121 template <typename DeviceType>
+
122 operator DeviceType&();
+
123
+
124 protected:
+
125 SinricProClass* ptr;
+
126 String deviceId;
+
127};
+
128
+
129SinricProClass::Proxy::Proxy(SinricProClass* ptr, const String& deviceId)
+
130 : ptr(ptr), deviceId(deviceId) {}
+
131
+
132template <typename DeviceType>
+
133SinricProClass::Proxy::operator DeviceType&() {
+
134 return ptr->getDeviceInstance<DeviceType>(deviceId);
+
135}
+
136
+
137SinricProDeviceInterface* SinricProClass::getDevice(String deviceId) {
+
138 for (auto& device : devices) {
+
139 if (deviceId == device->getDeviceId()) return device;
+
140 }
+
141 return nullptr;
+
142}
+
143
+
144template <typename DeviceType>
+
145DeviceType& SinricProClass::getDeviceInstance(String deviceId) {
+
146 DeviceType* tmp_device = (DeviceType*)getDevice(deviceId);
+
147 if (tmp_device) return *tmp_device;
+
148
+
149 DEBUG_SINRIC("[SinricPro]: Device \"%s\" does not exist. Creating new device\r\n", deviceId.c_str());
+
150 DeviceType& tmp_deviceInstance = add<DeviceType>(deviceId);
+
151
+
152 if (isConnected()) {
+
153 DEBUG_SINRIC("[SinricPro]: Reconnecting to server.\r\n");
+
154 reconnect();
+
155 }
+
156
+
157 return tmp_deviceInstance;
+
158}
+
159
+
+
176void SinricProClass::begin(String appKey, String appSecret, String serverURL) {
+
177 bool success = true;
+
178 if (!appKey.length()) {
+
179 DEBUG_SINRIC("[SinricPro:begin()]: App-Key \"%s\" is invalid!! Please check your app-key!! SinricPro will not work!\r\n", appKey.c_str());
+
180 success = false;
+
181 }
+
182 if (!appSecret.length()) {
+
183 DEBUG_SINRIC("[SinricPro:begin()]: App-Secret \"%s\" is invalid!! Please check your app-secret!! SinricPro will not work!\r\n", appSecret.c_str());
+
184 success = false;
+
185 }
+
186
+
187 if (!success) {
+
188 _begin = false;
+
189 return;
+
190 }
+
191
+
192 this->appKey = appKey;
+
193 this->appSecret = appSecret;
+
194 this->serverURL = serverURL;
+
195 _begin = true;
+
196 _udpListener.begin(&receiveQueue);
+
197}
+
+
198
+
199template <typename DeviceType>
+
200DeviceType& SinricProClass::add(String deviceId) {
+
201 DeviceType* newDevice = new DeviceType(deviceId);
+
202 DEBUG_SINRIC("[SinricPro:add()]: Adding device with id \"%s\".\r\n", deviceId.c_str());
+
203 newDevice->begin(this);
+
204
+
205 devices.push_back(newDevice);
+
206 return *newDevice;
+
207}
+
208
+
209__attribute__((deprecated("Please use DeviceType& myDevice = SinricPro.add<DeviceType>(String);"))) void SinricProClass::add(SinricProDeviceInterface* newDevice) {
+
210 newDevice->begin(this);
+
211 devices.push_back(newDevice);
+
212}
+
213
+
214__attribute__((deprecated("Please use DeviceType& myDevice = SinricPro.add<DeviceType>(String);"))) void SinricProClass::add(SinricProDeviceInterface& newDevice) {
+
215 newDevice.begin(this);
+
216 devices.push_back(&newDevice);
+
217}
+
218
+
+ +
235 static bool begin_error = false;
+
236 if (!_begin) {
+
237 if (!begin_error) { // print this only once!
+
238 DEBUG_SINRIC("[SinricPro:handle()]: ERROR! SinricPro.begin() failed or was not called prior to event handler\r\n");
+
239 DEBUG_SINRIC("[SinricPro:handle()]: -Reasons include an invalid app-key, invalid app-secret or no valid deviceIds)\r\n");
+
240 DEBUG_SINRIC("[SinricPro:handle()]: -SinricPro is disabled! Check earlier log messages for details.\r\n");
+
241 begin_error = true;
+
242 }
+
243 return;
+
244 }
+
245
+
246 if (WiFi.isConnected()) {
+
247 if (!isConnected()) connect();
+
248 _websocketListener.handle();
+
249 _udpListener.handle();
+
250 }
+
251
+
252 handleReceiveQueue();
+
253 handleSendQueue();
+
254}
+
+
255
+
256DynamicJsonDocument SinricProClass::prepareRequest(String deviceId, const char* action) {
+ + + + +
261
+ + + + +
266 payload[FSTR_SINRICPRO_replyToken] = MessageID().getID();
+ +
268 payload.createNestedObject(FSTR_SINRICPRO_value);
+
269 return requestMessage;
+
270}
+
271
+
272void SinricProClass::handleResponse(DynamicJsonDocument& responseMessage) {
+
273 (void)responseMessage;
+
274 DEBUG_SINRIC("[SinricPro.handleResponse()]:\r\n");
+
275
+
276#ifndef NODEBUG_SINRIC
+
277 serializeJsonPretty(responseMessage, DEBUG_ESP_PORT);
+
278 Serial.println();
+
279#endif
+
280}
+
281
+
282void SinricProClass::handleRequest(DynamicJsonDocument& requestMessage, interface_t Interface) {
+
283 DEBUG_SINRIC("[SinricPro.handleRequest()]: handling request\r\n");
+
284#ifndef NODEBUG_SINRIC
+
285 serializeJsonPretty(requestMessage, DEBUG_ESP_PORT);
+
286#endif
+
287
+
288 DynamicJsonDocument responseMessage = prepareResponse(requestMessage);
+
289
+
290 // handle devices
+
291 bool success = false;
+
292 const char* deviceId = requestMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_deviceId];
+
293 String action = requestMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_action] | "";
+
294 String instance = requestMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_instanceId] | "";
+
295 JsonObject request_value = requestMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
+
296 JsonObject response_value = responseMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
+
297
+
298 for (auto& device : devices) {
+
299 if (device->getDeviceId() == deviceId && success == false) {
+
300 SinricProRequest request{
+
301 action,
+
302 instance,
+
303 request_value,
+
304 response_value};
+
305 success = device->handleRequest(request);
+
306 responseMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_success] = success;
+
307 if (!success) {
+
308 if (responseMessageStr.length() > 0) {
+
309 responseMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_message] = responseMessageStr;
+
310 responseMessageStr = "";
+
311 } else {
+
312 responseMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_message] = "Device did not handle \"" + action + "\"";
+
313 }
+
314 }
+
315 }
+
316 }
+
317
+
318 String responseString;
+
319 serializeJson(responseMessage, responseString);
+
320 sendQueue.push(new SinricProMessage(Interface, responseString.c_str()));
+
321}
+
322
+
323void SinricProClass::handleReceiveQueue() {
+
324 if (receiveQueue.size() == 0) return;
+
325
+
326 DEBUG_SINRIC("[SinricPro.handleReceiveQueue()]: %i message(s) in receiveQueue\r\n", receiveQueue.size());
+
327 while (receiveQueue.size() > 0) {
+
328 SinricProMessage* rawMessage = receiveQueue.front();
+
329 receiveQueue.pop();
+
330 DynamicJsonDocument jsonMessage(1024);
+
331 deserializeJson(jsonMessage, rawMessage->getMessage());
+
332
+
333 bool sigMatch = false;
+
334
+
335 if (strncmp(rawMessage->getMessage(), "{\"timestamp\":", 13) == 0 && strlen(rawMessage->getMessage()) <= 26) {
+
336 sigMatch = true; // timestamp message has no signature...ignore sigMatch for this!
+
337 } else {
+
338 String signature = jsonMessage[FSTR_SINRICPRO_signature][FSTR_SINRICPRO_HMAC] | "";
+
339 String payload = extractPayload(rawMessage->getMessage());
+
340 String calculatedSignature = calculateSignature(appSecret.c_str(), payload);
+
341 sigMatch = (calculatedSignature == signature);
+
342 }
+
343
+
344 String messageType = jsonMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_type];
+
345
+
346 if (sigMatch) { // signature is valid process message
+
347 DEBUG_SINRIC("[SinricPro.handleReceiveQueue()]: Signature is valid. Processing message...\r\n");
+
348 extractTimestamp(jsonMessage);
+
349 if (messageType == FSTR_SINRICPRO_response) handleResponse(jsonMessage);
+
350 if (messageType == FSTR_SINRICPRO_request) handleRequest(jsonMessage, rawMessage->getInterface());
+
351 } else {
+
352 DEBUG_SINRIC("[SinricPro.handleReceiveQueue()]: Signature is invalid! Sending messsage to [dev/null] ;)\r\n");
+
353 }
+
354 delete rawMessage;
+
355 }
+
356}
+
357
+
358void SinricProClass::handleSendQueue() {
+
359 if (!isConnected()) return;
+
360 if (!timestamp.getTimestamp()) return;
+
361 while (sendQueue.size() > 0) {
+
362 DEBUG_SINRIC("[SinricPro:handleSendQueue()]: %i message(s) in sendQueue\r\n", sendQueue.size());
+
363 DEBUG_SINRIC("[SinricPro:handleSendQueue()]: Sending message...\r\n");
+
364
+
365 SinricProMessage* rawMessage = sendQueue.front();
+
366 sendQueue.pop();
+
367
+
368 DynamicJsonDocument jsonMessage(1024);
+
369 deserializeJson(jsonMessage, rawMessage->getMessage());
+
370 jsonMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_createdAt] = timestamp.getTimestamp();
+
371 signMessage(appSecret, jsonMessage);
+
372
+
373 String messageStr;
+
374
+
375 serializeJson(jsonMessage, messageStr);
+
376#ifndef NODEBUG_SINRIC
+
377 serializeJsonPretty(jsonMessage, DEBUG_ESP_PORT);
+
378 Serial.println();
+
379#endif
+
380
+
381 switch (rawMessage->getInterface()) {
+
382 case IF_WEBSOCKET:
+
383 DEBUG_SINRIC("[SinricPro:handleSendQueue]: Sending to websocket\r\n");
+
384 _websocketListener.sendMessage(messageStr);
+
385 break;
+
386 case IF_UDP:
+
387 DEBUG_SINRIC("[SinricPro:handleSendQueue]: Sending to UDP\r\n");
+
388 _udpListener.sendMessage(messageStr);
+
389 break;
+
390 default:
+
391 break;
+
392 }
+
393 delete rawMessage;
+
394 DEBUG_SINRIC("[SinricPro:handleSendQueue()]: message sent.\r\n");
+
395 }
+
396}
+
397
+
398void SinricProClass::connect() {
+
399 String deviceList;
+
400 int i = 0;
+
401 for (auto& device : devices) {
+
402 String deviceId = device->getDeviceId();
+
403 if (i > 0) deviceList += ';';
+
404 deviceList += device->getDeviceId();
+
405 i++;
+
406 }
+
407
+
408 _websocketListener.begin(serverURL, appKey, deviceList, &receiveQueue);
+
409}
+
410
+
411void SinricProClass::stop() {
+
412 _begin = false;
+
413 DEBUG_SINRIC("[SinricPro:stop()\r\n");
+
414 _websocketListener.stop();
+
415}
+
416
+
417bool SinricProClass::isConnected() {
+
418 return _websocketListener.isConnected();
+
419};
+
420
+
+ +
431 _websocketListener.onConnected(cb);
+
432}
+
+
433
+
+ +
444 _websocketListener.onDisconnected(cb);
+
445}
+
+
446
+
447void SinricProClass::onPong(PongCallback cb) {
+
448 _websocketListener.onPong(cb);
+
449}
+
450
+
451void SinricProClass::reconnect() {
+
452 DEBUG_SINRIC("SinricPro:reconnect(): disconnecting\r\n");
+
453 stop();
+
454 DEBUG_SINRIC("SinricPro:reconnect(): connecting\r\n");
+
455 connect();
+
456}
+
457
+
458void SinricProClass::onConnect() {
+
459 DEBUG_SINRIC("[SinricPro]: Connected to \"%s\"!]\r\n", serverURL.c_str());
+
460}
+
461
+
462void SinricProClass::onDisconnect() {
+
463 DEBUG_SINRIC("[SinricPro]: Disconnect\r\n");
+
464}
+
465
+
466void SinricProClass::extractTimestamp(JsonDocument& message) {
+
467 unsigned long tempTimestamp = 0;
+
468 // extract timestamp from timestamp message right after websocket connection is established
+
469 tempTimestamp = message["timestamp"] | 0;
+
470 if (tempTimestamp) {
+
471 timestamp.setTimestamp(tempTimestamp);
+
472 DEBUG_SINRIC("[SinricPro:extractTimestamp(): Got Timestamp %lu\r\n", tempTimestamp);
+
473 return;
+
474 }
+
475
+
476 // extract timestamp from request message
+
477 tempTimestamp = message[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_createdAt] | 0;
+
478 if (tempTimestamp) {
+
479 DEBUG_SINRIC("[SinricPro:extractTimestamp(): Got Timestamp %lu\r\n", tempTimestamp);
+
480 timestamp.setTimestamp(tempTimestamp);
+
481 return;
+
482 }
+
483}
+
484
+
485void SinricProClass::sendMessage(JsonDocument& jsonMessage) {
+
486 if (!isConnected()) {
+
487 DEBUG_SINRIC("[SinricPro:sendMessage()]: device is offline, message has been dropped\r\n");
+
488 return;
+
489 }
+
490 DEBUG_SINRIC("[SinricPro:sendMessage()]: pushing message into sendQueue\r\n");
+
491 String messageString;
+
492 serializeJson(jsonMessage, messageString);
+
493 sendQueue.push(new SinricProMessage(IF_WEBSOCKET, messageString.c_str()));
+
494}
+
495
+
+ +
506 _websocketListener.setRestoreDeviceStates(flag);
+
507}
+
+
508
+
+
525SinricProClass::Proxy SinricProClass::operator[](const String deviceId) {
+
526 return Proxy(this, deviceId);
+
527}
+
+
528
+
529void SinricProClass::setResponseMessage(String&& message) {
+
530 responseMessageStr = message;
+
531}
+
532
+
+ +
539 return timestamp.getTimestamp();
+
540}
+
+
541
+
542DynamicJsonDocument SinricProClass::prepareResponse(JsonDocument& requestMessage) {
+ + + + +
547
+ + + + + + + + + + +
558 payload.createNestedObject(FSTR_SINRICPRO_value);
+
559 return responseMessage;
+
560}
+
561
+
562DynamicJsonDocument SinricProClass::prepareEvent(String deviceId, const char* action, const char* cause) {
+
563 DynamicJsonDocument eventMessage(1024);
+
564 JsonObject header = eventMessage.createNestedObject(FSTR_SINRICPRO_header);
+
565 header[FSTR_SINRICPRO_payloadVersion] = 2;
+
566 header[FSTR_SINRICPRO_signatureVersion] = 1;
+
567
+
568 JsonObject payload = eventMessage.createNestedObject(FSTR_SINRICPRO_payload);
+
569 payload[FSTR_SINRICPRO_action] = action;
+
570 payload[FSTR_SINRICPRO_cause].createNestedObject(FSTR_SINRICPRO_type);
+
571 payload[FSTR_SINRICPRO_cause][FSTR_SINRICPRO_type] = cause;
+
572 payload[FSTR_SINRICPRO_createdAt] = 0;
+
573 payload[FSTR_SINRICPRO_deviceId] = deviceId;
+
574 payload[FSTR_SINRICPRO_replyToken] = MessageID().getID();
+
575 payload[FSTR_SINRICPRO_type] = FSTR_SINRICPRO_event;
+
576 payload.createNestedObject(FSTR_SINRICPRO_value);
+
577 return eventMessage;
+
578}
+
579
+
580} // namespace SINRICPRO_NAMESPACE
+
581
+
582SINRICPRO_NAMESPACE::SinricProClass SinricPro;
+
AirQuality.
Definition AirQualitySensor.h:19
+
The main class of this library, handling communication between SinricPro Server and your devices.
Definition SinricPro.h:47
+
void begin(String appKey, String appSecret, String serverURL="ws.sinric.pro")
Initializing SinricProClass to be able to connect to SinricPro Server.
Definition SinricPro.h:176
+
void restoreDeviceStates(bool flag)
Enable / disable restore device states function.
Definition SinricPro.h:505
+
void handle()
Handles communication between device and SinricPro Server.
Definition SinricPro.h:234
+
void onDisconnected(DisconnectedCallbackHandler cb)
Set callback function for websocket disconnected event.
Definition SinricPro.h:443
+
Proxy operator[](const String deviceId)
operator[] is used tor create a new device instance or get an existing device instance
Definition SinricPro.h:525
+
void onConnected(ConnectedCallbackHandler cb)
Set callback function for websocket connected event.
Definition SinricPro.h:430
+
unsigned long getTimestamp() override
Get the current timestamp.
Definition SinricPro.h:538
+
Base class for all device types.
Definition SinricProDevice.h:24
+
std::function< void(void)> DisconnectedCallbackHandler
Callback definition for onDisconnected function.
Definition SinricPro.h:38
+
std::function< void(void)> ConnectedCallbackHandler
Callback definition for onConnected function.
Definition SinricPro.h:29
diff --git a/docs/_sinric_pro_air_quality_sensor_8h_source.html b/docs/_sinric_pro_air_quality_sensor_8h_source.html index d0c9a80..dfa9f0e 100644 --- a/docs/_sinric_pro_air_quality_sensor_8h_source.html +++ b/docs/_sinric_pro_air_quality_sensor_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProAirQualitySensor.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProAirQualitySensor.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,61 +81,65 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProAirQualitySensor.h
+
SinricProAirQualitySensor.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 #pragma once
-
8 
-
9 #include "SinricProDevice.h"
-
10 #include "Capabilities/SettingController.h"
-
11 #include "Capabilities/PushNotification.h"
-
12 #include "Capabilities/PowerStateController.h"
-
13 #include "Capabilities/AirQualitySensor.h"
-
14 
-
15 #include "SinricProNamespace.h"
-
16 namespace SINRICPRO_NAMESPACE {
-
17 
- -
24  public SettingController<SinricProAirQualitySensor>,
-
25  public PushNotification<SinricProAirQualitySensor>,
-
26  public PowerStateController<SinricProAirQualitySensor>,
-
27  public AirQualitySensor<SinricProAirQualitySensor> {
-
28  friend class SettingController<SinricProAirQualitySensor>;
-
29  friend class PushNotification<AirQualitySensor>;
- - -
32 public:
-
33  SinricProAirQualitySensor(const String &deviceId) : SinricProDevice(deviceId, "AIR_QUALITY_SENSOR"){};
-
34 };
-
35 
-
36 } // SINRICPRO_NAMESPACE
-
37 
-
38 using SinricProAirQualitySensor = SINRICPRO_NAMESPACE::SinricProAirQualitySensor;
-
AirQuality.
Definition: AirQualitySensor.h:19
-
PowerStateController.
Definition: PowerStateController.h:36
-
PushNotification.
Definition: PushNotification.h:17
-
Device to report air quality events.
Definition: SinricProAirQualitySensor.h:27
-
Base class for all device types.
Definition: SinricProDevice.h:24
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7#pragma once
+
8
+
9#include "SinricProDevice.h"
+
10#include "Capabilities/SettingController.h"
+
11#include "Capabilities/PushNotification.h"
+
12#include "Capabilities/AirQualitySensor.h"
+
13
+
14#include "SinricProNamespace.h"
+
15namespace SINRICPRO_NAMESPACE {
+
16
+
+ +
23 public SettingController<SinricProAirQualitySensor>,
+
24 public PushNotification<SinricProAirQualitySensor>,
+
25 public AirQualitySensor<SinricProAirQualitySensor> {
+
26 friend class SettingController<SinricProAirQualitySensor>;
+ + +
29public:
+
30 SinricProAirQualitySensor(const String &deviceId) : SinricProDevice(deviceId, "AIR_QUALITY_SENSOR"){};
+
31};
+
+
32
+
33} // SINRICPRO_NAMESPACE
+
34
+
35using SinricProAirQualitySensor = SINRICPRO_NAMESPACE::SinricProAirQualitySensor;
+
AirQuality.
Definition AirQualitySensor.h:19
+
PushNotification.
Definition PushNotification.h:17
+
Device to report air quality events.
Definition SinricProAirQualitySensor.h:25
+
Base class for all device types.
Definition SinricProDevice.h:24
diff --git a/docs/_sinric_pro_blinds_8h_source.html b/docs/_sinric_pro_blinds_8h_source.html index 1168142..c8091f8 100644 --- a/docs/_sinric_pro_blinds_8h_source.html +++ b/docs/_sinric_pro_blinds_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProBlinds.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProBlinds.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,61 +81,69 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProBlinds.h
+
SinricProBlinds.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 #pragma once
-
8 
-
9 #include "SinricProDevice.h"
-
10 #include "Capabilities/SettingController.h"
-
11 #include "Capabilities/PushNotification.h"
-
12 #include "Capabilities/RangeController.h"
-
13 #include "Capabilities/PowerStateController.h"
-
14 
-
15 #include "SinricProNamespace.h"
-
16 namespace SINRICPRO_NAMESPACE {
-
17 
- -
29  public SettingController<SinricProBlinds>,
-
30  public PushNotification<SinricProBlinds>,
-
31  public PowerStateController<SinricProBlinds>,
-
32  public RangeController<SinricProBlinds> {
-
33  friend class SettingController<SinricProBlinds>;
-
34  friend class PushNotification<SinricProBlinds>;
- -
36  friend class RangeController<SinricProBlinds>;
-
37  public:
-
38  SinricProBlinds(const String &deviceId) : SinricProDevice(deviceId, "BLIND"){}
-
39 };
-
40 
-
41 } // SINRICPRO_NAMESPACE
-
42 
-
43 using SinricProBlinds = SINRICPRO_NAMESPACE::SinricProBlinds;
-
PowerStateController.
Definition: PowerStateController.h:36
-
PushNotification.
Definition: PushNotification.h:17
-
RangeControllerFloatInt.
Definition: RangeController.h:109
-
Device to control interior blinds.
Definition: SinricProBlinds.h:32
-
Base class for all device types.
Definition: SinricProDevice.h:24
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7#pragma once
+
8
+
9#include "SinricProDevice.h"
+
10#include "Capabilities/SettingController.h"
+
11#include "Capabilities/PushNotification.h"
+
12#include "Capabilities/RangeController.h"
+
13#include "Capabilities/PowerStateController.h"
+
14
+
15#include "SinricProNamespace.h"
+
16namespace SINRICPRO_NAMESPACE {
+
17
+
+ +
29 public SettingController<SinricProBlinds>,
+
30 public PushNotification<SinricProBlinds>,
+
31 public PowerStateController<SinricProBlinds>,
+
32 public RangeController<SinricProBlinds> {
+
33 friend class SettingController<SinricProBlinds>;
+ + +
36 friend class RangeController<SinricProBlinds>;
+
37 public:
+
38 SinricProBlinds(const String &deviceId) : SinricProDevice(deviceId, "BLIND"){}
+
39};
+
+
40
+
41} // SINRICPRO_NAMESPACE
+
42
+
43using SinricProBlinds = SINRICPRO_NAMESPACE::SinricProBlinds;
+
PowerStateController.
Definition PowerStateController.h:36
+
PushNotification.
Definition PushNotification.h:17
+
RangeControllerFloatInt.
Definition RangeController.h:109
+
Device to control interior blinds.
Definition SinricProBlinds.h:32
+
Base class for all device types.
Definition SinricProDevice.h:24
diff --git a/docs/_sinric_pro_camera_8h_source.html b/docs/_sinric_pro_camera_8h_source.html index fa64728..4c5fced 100644 --- a/docs/_sinric_pro_camera_8h_source.html +++ b/docs/_sinric_pro_camera_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProCamera.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProCamera.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,58 +81,66 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProCamera.h
+
SinricProCamera.h
-
1 
-
2 /*
-
3  * Copyright (c) 2019 Sinric. All rights reserved.
-
4  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
5  *
-
6  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
7  */
-
8 #pragma once
-
9 
-
10 #include "SinricProDevice.h"
-
11 #include "Capabilities/SettingController.h"
-
12 #include "Capabilities/PushNotification.h"
-
13 #include "Capabilities/PowerStateController.h"
-
14 
-
15 #include "SinricProNamespace.h"
-
16 namespace SINRICPRO_NAMESPACE {
-
17 
- -
24  public SettingController<SinricProCamera>,
-
25  public PushNotification<SinricProCamera>,
-
26  public PowerStateController<SinricProCamera> {
-
27  friend class SettingController<SinricProCamera>;
-
28  friend class PushNotification<SinricProCamera>;
- -
30  public:
-
31  SinricProCamera(const String &deviceId) : SinricProDevice(deviceId, "CAMERA") {}
-
32 };
-
33 
-
34 } // SINRICPRO_NAMESPACE
-
35 
-
36 using SinricProCamera = SINRICPRO_NAMESPACE::SinricProCamera;
-
PowerStateController.
Definition: PowerStateController.h:36
-
PushNotification.
Definition: PushNotification.h:17
-
Camera suporting basic on / off command.
Definition: SinricProCamera.h:26
-
Base class for all device types.
Definition: SinricProDevice.h:24
+
1
+
2/*
+
3 * Copyright (c) 2019 Sinric. All rights reserved.
+
4 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
5 *
+
6 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
7 */
+
8#pragma once
+
9
+
10#include "SinricProDevice.h"
+
11#include "Capabilities/SettingController.h"
+
12#include "Capabilities/PushNotification.h"
+
13#include "Capabilities/PowerStateController.h"
+
14
+
15#include "SinricProNamespace.h"
+
16namespace SINRICPRO_NAMESPACE {
+
17
+
+ +
24 public SettingController<SinricProCamera>,
+
25 public PushNotification<SinricProCamera>,
+
26 public PowerStateController<SinricProCamera> {
+
27 friend class SettingController<SinricProCamera>;
+ + +
30 public:
+
31 SinricProCamera(const String &deviceId) : SinricProDevice(deviceId, "CAMERA") {}
+
32};
+
+
33
+
34} // SINRICPRO_NAMESPACE
+
35
+
36using SinricProCamera = SINRICPRO_NAMESPACE::SinricProCamera;
+
PowerStateController.
Definition PowerStateController.h:36
+
PushNotification.
Definition PushNotification.h:17
+
Camera suporting basic on / off command.
Definition SinricProCamera.h:26
+
Base class for all device types.
Definition SinricProDevice.h:24
diff --git a/docs/_sinric_pro_config_8h_source.html b/docs/_sinric_pro_config_8h_source.html index fb2fde8..1fa4d6c 100644 --- a/docs/_sinric_pro_config_8h_source.html +++ b/docs/_sinric_pro_config_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProConfig.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProConfig.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,71 +81,77 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProConfig.h
+
SinricProConfig.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 /*
-
10  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
11  * !! !!
-
12  * !! WARNING: DON'T TOUCH ! !!
-
13  * !! ====================== !!
-
14  * !! PLEASE DO NOT MODIFY ANY OF THESE SETTINGS HERE !!
-
15  * !! THIS IS FOR INTERNAL CONFIGURATION ONLY !!
-
16  * !! SINRIC PRO MIGHT NOT WORK IF YOU MODIFY THIS !!
-
17  * !! !!
-
18  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
19  */
-
20 
-
21 #pragma once
-
22 
-
23 // Server Configuration
-
24 #ifndef SINRICPRO_NOSSL
-
25 #define WEBSOCKET_SSL
-
26 #endif
-
27 
-
28 #define SINRICPRO_SERVER_URL "ws.sinric.pro"
-
29 #define SINRICPRO_SERVER_PORT 80
-
30 #define SINRICPRO_SERVER_SSL_PORT 443
-
31 
-
32 // UDP Configuration
-
33 #define UDP_MULTICAST_IP IPAddress(224,9,9,9)
-
34 #define UDP_MULTICAST_PORT 3333
-
35 
-
36 // WebSocket Configuration
-
37 #ifdef DEBUG_WIFI_ISSUE
-
38  #define WEBSOCKET_PING_INTERVAL 10000
-
39 #else
-
40  #define WEBSOCKET_PING_INTERVAL 300000
-
41 #endif
-
42 #define WEBSOCKET_PING_TIMEOUT 10000
-
43 #define WEBSOCKET_RETRY_COUNT 2
-
44 
-
45 // EventLimiter Configuration
-
46 #define EVENT_LIMIT_STATE 1000
-
47 #define EVENT_LIMIT_SENSOR_STATE EVENT_LIMIT_STATE
-
48 #define EVENT_LIMIT_SENSOR_VALUE 60000
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9/*
+
10 * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
11 * !! !!
+
12 * !! WARNING: DON'T TOUCH ! !!
+
13 * !! ====================== !!
+
14 * !! PLEASE DO NOT MODIFY ANY OF THESE SETTINGS HERE !!
+
15 * !! THIS IS FOR INTERNAL CONFIGURATION ONLY !!
+
16 * !! SINRIC PRO MIGHT NOT WORK IF YOU MODIFY THIS !!
+
17 * !! !!
+
18 * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
19 */
+
20
+
21#pragma once
+
22
+
23// Server Configuration
+
24#ifndef SINRICPRO_NOSSL
+
25#define WEBSOCKET_SSL
+
26#endif
+
27
+
28#define SINRICPRO_SERVER_URL "ws.sinric.pro"
+
29#define SINRICPRO_SERVER_PORT 80
+
30#define SINRICPRO_SERVER_SSL_PORT 443
+
31
+
32// UDP Configuration
+
33#define UDP_MULTICAST_IP IPAddress(224,9,9,9)
+
34#define UDP_MULTICAST_PORT 3333
+
35
+
36// WebSocket Configuration
+
37#ifdef DEBUG_WIFI_ISSUE
+
38 #define WEBSOCKET_PING_INTERVAL 10000
+
39#else
+
40 #define WEBSOCKET_PING_INTERVAL 300000
+
41#endif
+
42#define WEBSOCKET_PING_TIMEOUT 10000
+
43#define WEBSOCKET_RETRY_COUNT 2
+
44
+
45// EventLimiter Configuration
+
46#define EVENT_LIMIT_STATE 1000
+
47#define EVENT_LIMIT_SENSOR_STATE EVENT_LIMIT_STATE
+
48#define EVENT_LIMIT_SENSOR_VALUE 60000
diff --git a/docs/_sinric_pro_contactsensor_8h_source.html b/docs/_sinric_pro_contactsensor_8h_source.html index ca1d056..9f01109 100644 --- a/docs/_sinric_pro_contactsensor_8h_source.html +++ b/docs/_sinric_pro_contactsensor_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProContactsensor.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProContactsensor.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,61 +81,65 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProContactsensor.h
+
SinricProContactsensor.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 #pragma once
-
8 
-
9 #include "SinricProDevice.h"
-
10 #include "Capabilities/SettingController.h"
-
11 #include "Capabilities/PushNotification.h"
-
12 #include "Capabilities/PowerStateController.h"
-
13 #include "Capabilities/ContactSensor.h"
-
14 
-
15 #include "SinricProNamespace.h"
-
16 namespace SINRICPRO_NAMESPACE {
-
17 
- -
24  public SettingController<SinricProContactsensor>,
-
25  public PushNotification<SinricProContactsensor>,
-
26  public PowerStateController<SinricProContactsensor>,
-
27  public ContactSensor<SinricProContactsensor> {
-
28  friend class SettingController<SinricProContactsensor>;
- - - -
32  public:
-
33  SinricProContactsensor(const String &deviceId) : SinricProDevice(deviceId, "CONTACT_SENSOR") {}
-
34 };
-
35 
-
36 } // SINRICPRO_NAMESPACE
-
37 
-
38 using SinricProContactsensor = SINRICPRO_NAMESPACE::SinricProContactsensor;
-
ContactSensor.
Definition: ContactSensor.h:19
-
PowerStateController.
Definition: PowerStateController.h:36
-
PushNotification.
Definition: PushNotification.h:17
-
Device to report contact sensor events.
Definition: SinricProContactsensor.h:27
-
Base class for all device types.
Definition: SinricProDevice.h:24
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7#pragma once
+
8
+
9#include "SinricProDevice.h"
+
10#include "Capabilities/SettingController.h"
+
11#include "Capabilities/PushNotification.h"
+
12#include "Capabilities/ContactSensor.h"
+
13
+
14#include "SinricProNamespace.h"
+
15namespace SINRICPRO_NAMESPACE {
+
16
+
+ +
23 public SettingController<SinricProContactsensor>,
+
24 public PushNotification<SinricProContactsensor>,
+
25 public ContactSensor<SinricProContactsensor> {
+
26 friend class SettingController<SinricProContactsensor>;
+ + +
29 public:
+
30 SinricProContactsensor(const String &deviceId) : SinricProDevice(deviceId, "CONTACT_SENSOR") {}
+
31};
+
+
32
+
33} // SINRICPRO_NAMESPACE
+
34
+
35using SinricProContactsensor = SINRICPRO_NAMESPACE::SinricProContactsensor;
+
ContactSensor.
Definition ContactSensor.h:19
+
PushNotification.
Definition PushNotification.h:17
+
Device to report contact sensor events.
Definition SinricProContactsensor.h:25
+
Base class for all device types.
Definition SinricProDevice.h:24
diff --git a/docs/_sinric_pro_debug_8h_source.html b/docs/_sinric_pro_debug_8h_source.html index 43acaea..d972984 100644 --- a/docs/_sinric_pro_debug_8h_source.html +++ b/docs/_sinric_pro_debug_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProDebug.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProDebug.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,45 +81,51 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProDebug.h
+
SinricProDebug.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #ifndef NODEBUG_SINRIC
-
11 #ifdef DEBUG_ESP_PORT
-
12 #define DEBUG_SINRIC(...) DEBUG_ESP_PORT.printf( __VA_ARGS__ )
-
13 #else
-
14 //#define DEBUG_WEBSOCKETS(...) os_printf( __VA_ARGS__ )
-
15 #endif
-
16 #endif
-
17 
-
18 
-
19 #ifndef DEBUG_SINRIC
-
20 #define DEBUG_SINRIC(...)
-
21 #define NODEBUG_SINRIC
-
22 #endif
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#ifndef NODEBUG_SINRIC
+
11#ifdef DEBUG_ESP_PORT
+
12#define DEBUG_SINRIC(...) DEBUG_ESP_PORT.printf( __VA_ARGS__ )
+
13#else
+
14//#define DEBUG_WEBSOCKETS(...) os_printf( __VA_ARGS__ )
+
15#endif
+
16#endif
+
17
+
18
+
19#ifndef DEBUG_SINRIC
+
20#define DEBUG_SINRIC(...)
+
21#define NODEBUG_SINRIC
+
22#endif
diff --git a/docs/_sinric_pro_device_8h_source.html b/docs/_sinric_pro_device_8h_source.html index 100b974..5511983 100644 --- a/docs/_sinric_pro_device_8h_source.html +++ b/docs/_sinric_pro_device_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProDevice.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProDevice.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,132 +81,141 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProDevice.h
+
SinricProDevice.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #include "SinricProRequest.h"
-
11 #include "SinricProDeviceInterface.h"
-
12 #include <map>
-
13 
-
14 #include "SinricProNamespace.h"
-
15 namespace SINRICPRO_NAMESPACE {
-
16 
-
24 class SinricProDevice : public SinricProDeviceInterface {
-
25  friend class SinricProClass;
-
26 public:
-
27  SinricProDevice(const String &deviceId, const String &productType = "");
-
28  bool operator==(const String& other);
-
29 
-
30  virtual String getDeviceId();
-
31 protected:
-
32  virtual ~SinricProDevice();
-
33 
-
34  void registerRequestHandler(const SinricProRequestHandler &requestHandler);
-
35  unsigned long getTimestamp();
-
36  virtual bool sendEvent(JsonDocument &event);
-
37  virtual DynamicJsonDocument prepareEvent(const char *action, const char *cause);
-
38 
-
39  virtual String getProductType();
-
40  virtual void begin(SinricProInterface *eventSender);
-
41  bool handleRequest(SinricProRequest &request);
-
42 
-
43  String deviceId;
-
44  std::vector<SinricProRequestHandler> requestHandlers;
-
45 
-
46 private:
-
47  SinricProInterface *eventSender;
-
48  String productType;
-
49 };
-
50 
-
51 SinricProDevice::SinricProDevice(const String &deviceId, const String &productType) :
-
52  deviceId(deviceId),
-
53  eventSender(nullptr),
-
54  productType(productType) {
-
55 }
-
56 
-
57 SinricProDevice::~SinricProDevice() {}
-
58 
-
59 void SinricProDevice::begin(SinricProInterface* eventSender) {
-
60  this->eventSender = eventSender;
-
61 }
-
62 
-
63 String SinricProDevice::getDeviceId() {
-
64  return deviceId;
-
65 }
-
66 
-
67 bool SinricProDevice::operator==(const String &other) {
-
68  return other == deviceId;
-
69 }
-
70 
-
71 DynamicJsonDocument SinricProDevice::prepareEvent(const char* action, const char* cause) {
-
72  if (eventSender) return eventSender->prepareEvent(deviceId, action, cause);
-
73  DEBUG_SINRIC("[SinricProDevice:prepareEvent()]: Device \"%s\" isn't configured correctly! The \'%s\' event will be ignored.\r\n", deviceId.c_str(), action);
-
74  return DynamicJsonDocument(1024);
-
75 }
-
76 
-
77 
-
78 bool SinricProDevice::sendEvent(JsonDocument& event) {
-
79  if (!SinricPro.isConnected()) {
-
80  DEBUG_SINRIC("[SinricProDevice::sendEvent]: The event could not be sent. No connection to the SinricPro server.\r\n");
-
81  return false;
-
82  }
-
83 
-
84  if (eventSender) {
-
85  eventSender->sendMessage(event);
-
86  return true;
-
87  }
-
88 
-
89  return false;
-
90 }
-
91 
-
92 void SinricProDevice::registerRequestHandler(const SinricProRequestHandler &requestHandler) {
-
93  requestHandlers.push_back(requestHandler);
-
94 }
-
95 
-
96 unsigned long SinricProDevice::getTimestamp() {
-
97  if (eventSender) return eventSender->getTimestamp();
-
98  return 0;
-
99 }
-
100 
-
101 String SinricProDevice::getProductType() {
-
102  return String("sinric.device.type.")+productType;
-
103 }
-
104 
-
105 bool SinricProDevice::handleRequest(SinricProRequest &request) {
-
106  for (auto& requestHandler : requestHandlers) {
-
107  if (requestHandler(request)) return true;
-
108  }
-
109  return false;
-
110 }
-
111 
-
112 } // SINRICPRO_NAMESPACE
-
113 
-
114 using SinricProDevice = SINRICPRO_NAMESPACE::SinricProDevice;
-
The main class of this library, handling communication between SinricPro Server and your devices.
Definition: SinricPro.h:45
-
Base class for all device types.
Definition: SinricProDevice.h:24
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#include "SinricProRequest.h"
+
11#include "SinricProDeviceInterface.h"
+
12#include <map>
+
13
+
14#include "SinricProNamespace.h"
+
15namespace SINRICPRO_NAMESPACE {
+
16
+
+
24class SinricProDevice : public SinricProDeviceInterface {
+
25 friend class SinricProClass;
+
26public:
+
27 SinricProDevice(const String &deviceId, const String &productType = "");
+
28 bool operator==(const String& other);
+
29
+
30 virtual String getDeviceId();
+
31protected:
+
32 virtual ~SinricProDevice();
+
33
+
34 void registerRequestHandler(const SinricProRequestHandler &requestHandler);
+
35 unsigned long getTimestamp();
+
36 virtual bool sendEvent(JsonDocument &event);
+
37 virtual DynamicJsonDocument prepareEvent(const char *action, const char *cause);
+
38
+
39 virtual String getProductType();
+
40 virtual void begin(SinricProInterface *eventSender);
+
41 bool handleRequest(SinricProRequest &request);
+
42
+
43 String deviceId;
+
44 std::vector<SinricProRequestHandler> requestHandlers;
+
45
+
46private:
+
47 SinricProInterface *eventSender;
+
48 String productType;
+
49};
+
+
50
+
51SinricProDevice::SinricProDevice(const String &deviceId, const String &productType) :
+
52 deviceId(deviceId),
+
53 eventSender(nullptr),
+
54 productType(productType) {
+
55}
+
56
+
57SinricProDevice::~SinricProDevice() {}
+
58
+
59void SinricProDevice::begin(SinricProInterface* eventSender) {
+
60 this->eventSender = eventSender;
+
61}
+
62
+
63String SinricProDevice::getDeviceId() {
+
64 return deviceId;
+
65}
+
66
+
67bool SinricProDevice::operator==(const String &other) {
+
68 return other == deviceId;
+
69}
+
70
+
71DynamicJsonDocument SinricProDevice::prepareEvent(const char* action, const char* cause) {
+
72 if (eventSender) return eventSender->prepareEvent(deviceId, action, cause);
+
73 DEBUG_SINRIC("[SinricProDevice:prepareEvent()]: Device \"%s\" isn't configured correctly! The \'%s\' event will be ignored.\r\n", deviceId.c_str(), action);
+
74 return DynamicJsonDocument(1024);
+
75}
+
76
+
77
+
78bool SinricProDevice::sendEvent(JsonDocument& event) {
+
79 if (!SinricPro.isConnected()) {
+
80 DEBUG_SINRIC("[SinricProDevice::sendEvent]: The event could not be sent. No connection to the SinricPro server.\r\n");
+
81 return false;
+
82 }
+
83
+
84 if (eventSender) {
+
85 eventSender->sendMessage(event);
+
86 return true;
+
87 }
+
88
+
89 return false;
+
90}
+
91
+
92void SinricProDevice::registerRequestHandler(const SinricProRequestHandler &requestHandler) {
+
93 requestHandlers.push_back(requestHandler);
+
94}
+
95
+
96unsigned long SinricProDevice::getTimestamp() {
+
97 if (eventSender) return eventSender->getTimestamp();
+
98 return 0;
+
99}
+
100
+
101String SinricProDevice::getProductType() {
+
102 return String("sinric.device.type.")+productType;
+
103}
+
104
+
105bool SinricProDevice::handleRequest(SinricProRequest &request) {
+
106 for (auto& requestHandler : requestHandlers) {
+
107 if (requestHandler(request)) return true;
+
108 }
+
109 return false;
+
110}
+
111
+
112} // SINRICPRO_NAMESPACE
+
113
+
114using SinricProDevice = SINRICPRO_NAMESPACE::SinricProDevice;
+
AirQuality.
Definition AirQualitySensor.h:19
+
The main class of this library, handling communication between SinricPro Server and your devices.
Definition SinricPro.h:47
+
Base class for all device types.
Definition SinricProDevice.h:24
diff --git a/docs/_sinric_pro_device_interface_8h_source.html b/docs/_sinric_pro_device_interface_8h_source.html index e1ab447..fb3a1b7 100644 --- a/docs/_sinric_pro_device_interface_8h_source.html +++ b/docs/_sinric_pro_device_interface_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProDeviceInterface.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProDeviceInterface.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,42 +81,48 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProDeviceInterface.h
+
SinricProDeviceInterface.h
-
1 #pragma once
-
2 
-
3 #include "SinricProInterface.h"
-
4 #include "SinricProRequest.h"
-
5 
-
6 #include "SinricProNamespace.h"
-
7 namespace SINRICPRO_NAMESPACE {
-
8 
-
9 class SinricProDeviceInterface {
-
10  friend class SinricProClass;
-
11  protected:
-
12  virtual bool handleRequest(SinricProRequest &request) = 0;
-
13  virtual String getDeviceId() = 0;
-
14  virtual String getProductType() = 0;
-
15  virtual void begin(SinricProInterface* eventSender) = 0;
-
16  virtual unsigned long getTimestamp();
-
17 };
-
18 
-
19 } // SINRICPRO_NAMESPACE
+
1#pragma once
+
2
+
3#include "SinricProInterface.h"
+
4#include "SinricProRequest.h"
+
5
+
6#include "SinricProNamespace.h"
+
7namespace SINRICPRO_NAMESPACE {
+
8
+
9class SinricProDeviceInterface {
+
10 friend class SinricProClass;
+
11 protected:
+
12 virtual bool handleRequest(SinricProRequest &request) = 0;
+
13 virtual String getDeviceId() = 0;
+
14 virtual String getProductType() = 0;
+
15 virtual void begin(SinricProInterface* eventSender) = 0;
+
16 virtual unsigned long getTimestamp();
+
17};
+
18
+
19} // SINRICPRO_NAMESPACE
diff --git a/docs/_sinric_pro_dim_switch_8h_source.html b/docs/_sinric_pro_dim_switch_8h_source.html index b54e5f5..180a089 100644 --- a/docs/_sinric_pro_dim_switch_8h_source.html +++ b/docs/_sinric_pro_dim_switch_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProDimSwitch.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProDimSwitch.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,62 +81,70 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProDimSwitch.h
+
SinricProDimSwitch.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #include "SinricProDevice.h"
-
11 #include "Capabilities/SettingController.h"
-
12 #include "Capabilities/PushNotification.h"
-
13 #include "Capabilities/PowerStateController.h"
-
14 #include "Capabilities/PowerLevelController.h"
-
15 
-
16 #include "SinricProNamespace.h"
-
17 namespace SINRICPRO_NAMESPACE {
-
18 
- -
25  public SettingController<SinricProDimSwitch>,
-
26  public PushNotification<SinricProDimSwitch>,
-
27  public PowerStateController<SinricProDimSwitch>,
-
28  public PowerLevelController<SinricProDimSwitch> {
-
29  friend class SettingController<SinricProDimSwitch>;
- - - -
33  public:
-
34  SinricProDimSwitch(const String &deviceId) : SinricProDevice(deviceId, "DIMMABLE_SWITCH"){};
-
35 };
-
36 
-
37 } // SINRICPRO_NAMESPACE
-
38 
-
39 using SinricProDimSwitch = SINRICPRO_NAMESPACE::SinricProDimSwitch;
-
PowerLevelController.
Definition: PowerLevelController.h:53
-
PowerStateController.
Definition: PowerStateController.h:36
-
PushNotification.
Definition: PushNotification.h:17
-
Base class for all device types.
Definition: SinricProDevice.h:24
-
Device which supports on / off and dimming commands.
Definition: SinricProDimSwitch.h:28
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#include "SinricProDevice.h"
+
11#include "Capabilities/SettingController.h"
+
12#include "Capabilities/PushNotification.h"
+
13#include "Capabilities/PowerStateController.h"
+
14#include "Capabilities/PowerLevelController.h"
+
15
+
16#include "SinricProNamespace.h"
+
17namespace SINRICPRO_NAMESPACE {
+
18
+
+ +
25 public SettingController<SinricProDimSwitch>,
+
26 public PushNotification<SinricProDimSwitch>,
+
27 public PowerStateController<SinricProDimSwitch>,
+
28 public PowerLevelController<SinricProDimSwitch> {
+
29 friend class SettingController<SinricProDimSwitch>;
+ + + +
33 public:
+
34 SinricProDimSwitch(const String &deviceId) : SinricProDevice(deviceId, "DIMMABLE_SWITCH"){};
+
35};
+
+
36
+
37} // SINRICPRO_NAMESPACE
+
38
+
39using SinricProDimSwitch = SINRICPRO_NAMESPACE::SinricProDimSwitch;
+
PowerLevelController.
Definition PowerLevelController.h:53
+
PowerStateController.
Definition PowerStateController.h:36
+
PushNotification.
Definition PushNotification.h:17
+
Base class for all device types.
Definition SinricProDevice.h:24
+
Device which supports on / off and dimming commands.
Definition SinricProDimSwitch.h:28
diff --git a/docs/_sinric_pro_doorbell_8h_source.html b/docs/_sinric_pro_doorbell_8h_source.html index 51769c7..0537d0c 100644 --- a/docs/_sinric_pro_doorbell_8h_source.html +++ b/docs/_sinric_pro_doorbell_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProDoorbell.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProDoorbell.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,61 +81,69 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProDoorbell.h
+
SinricProDoorbell.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 #pragma once
-
8 
-
9 #include "SinricProDevice.h"
-
10 #include "Capabilities/SettingController.h"
-
11 #include "Capabilities/PushNotification.h"
-
12 #include "Capabilities/PowerStateController.h"
-
13 #include "Capabilities/Doorbell.h"
-
14 
-
15 #include "SinricProNamespace.h"
-
16 namespace SINRICPRO_NAMESPACE {
-
17 
- -
24  public SettingController<SinricProDoorbell>,
-
25  public PushNotification<SinricProDoorbell>,
-
26  public PowerStateController<SinricProDoorbell>,
-
27  public Doorbell<SinricProDoorbell> {
-
28  friend class SettingController<SinricProDoorbell>;
-
29  friend class PushNotification<SinricProDoorbell>;
- -
31  friend class Doorbell<SinricProDoorbell>;
-
32  public:
-
33  SinricProDoorbell(const String &deviceId) : SinricProDevice(deviceId, "CONTACT_SENSOR") {}
-
34 };
-
35 
-
36 } // Namespace
-
37 
-
38 using SinricProDoorbell = SINRICPRO_NAMESPACE::SinricProDoorbell;
-
Dorbell.
Definition: Doorbell.h:18
-
PowerStateController.
Definition: PowerStateController.h:36
-
PushNotification.
Definition: PushNotification.h:17
-
Base class for all device types.
Definition: SinricProDevice.h:24
-
Device to report doorbell events.
Definition: SinricProDoorbell.h:27
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7#pragma once
+
8
+
9#include "SinricProDevice.h"
+
10#include "Capabilities/SettingController.h"
+
11#include "Capabilities/PushNotification.h"
+
12#include "Capabilities/PowerStateController.h"
+
13#include "Capabilities/Doorbell.h"
+
14
+
15#include "SinricProNamespace.h"
+
16namespace SINRICPRO_NAMESPACE {
+
17
+
+ +
24 public SettingController<SinricProDoorbell>,
+
25 public PushNotification<SinricProDoorbell>,
+
26 public PowerStateController<SinricProDoorbell>,
+
27 public Doorbell<SinricProDoorbell> {
+
28 friend class SettingController<SinricProDoorbell>;
+ + +
31 friend class Doorbell<SinricProDoorbell>;
+
32 public:
+
33 SinricProDoorbell(const String &deviceId) : SinricProDevice(deviceId, "CONTACT_SENSOR") {}
+
34};
+
+
35
+
36} // Namespace
+
37
+
38using SinricProDoorbell = SINRICPRO_NAMESPACE::SinricProDoorbell;
+
Dorbell.
Definition Doorbell.h:18
+
PowerStateController.
Definition PowerStateController.h:36
+
PushNotification.
Definition PushNotification.h:17
+
Base class for all device types.
Definition SinricProDevice.h:24
+
Device to report doorbell events.
Definition SinricProDoorbell.h:27
diff --git a/docs/_sinric_pro_fan_8h_source.html b/docs/_sinric_pro_fan_8h_source.html index 76efa40..6716629 100644 --- a/docs/_sinric_pro_fan_8h_source.html +++ b/docs/_sinric_pro_fan_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProFan.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProFan.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,62 +81,70 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProFan.h
+
SinricProFan.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #include "SinricProDevice.h"
-
11 #include "Capabilities/SettingController.h"
-
12 #include "Capabilities/PushNotification.h"
-
13 #include "Capabilities/PowerStateController.h"
-
14 #include "Capabilities/PowerLevelController.h"
-
15 
-
16 #include "SinricProNamespace.h"
-
17 namespace SINRICPRO_NAMESPACE {
-
18 
- -
25  public SettingController<SinricProFan>,
-
26  public PushNotification<SinricProFan>,
-
27  public PowerStateController<SinricProFan>,
-
28  public PowerLevelController<SinricProFan> {
-
29  friend class SettingController<SinricProFan>;
-
30  friend class PushNotification<SinricProFan>;
-
31  friend class PowerStateController<SinricProFan>;
-
32  friend class PowerLevelController<SinricProFan>;
-
33  public:
-
34  SinricProFan(const String &deviceId) : SinricProDevice(deviceId, "FAN_NON-US") {}
-
35 };
-
36 
-
37 } // Namespace
-
38 
-
39 using SinricProFan = SINRICPRO_NAMESPACE::SinricProFan;
-
PowerLevelController.
Definition: PowerLevelController.h:53
-
PowerStateController.
Definition: PowerStateController.h:36
-
PushNotification.
Definition: PushNotification.h:17
-
Base class for all device types.
Definition: SinricProDevice.h:24
-
Device to turn on / off a fan and change it's speed by using powerlevel.
Definition: SinricProFan.h:28
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#include "SinricProDevice.h"
+
11#include "Capabilities/SettingController.h"
+
12#include "Capabilities/PushNotification.h"
+
13#include "Capabilities/PowerStateController.h"
+
14#include "Capabilities/PowerLevelController.h"
+
15
+
16#include "SinricProNamespace.h"
+
17namespace SINRICPRO_NAMESPACE {
+
18
+
+ +
25 public SettingController<SinricProFan>,
+
26 public PushNotification<SinricProFan>,
+
27 public PowerStateController<SinricProFan>,
+
28 public PowerLevelController<SinricProFan> {
+
29 friend class SettingController<SinricProFan>;
+
30 friend class PushNotification<SinricProFan>;
+ + +
33 public:
+
34 SinricProFan(const String &deviceId) : SinricProDevice(deviceId, "FAN_NON-US") {}
+
35};
+
+
36
+
37} // Namespace
+
38
+
39using SinricProFan = SINRICPRO_NAMESPACE::SinricProFan;
+
PowerLevelController.
Definition PowerLevelController.h:53
+
PowerStateController.
Definition PowerStateController.h:36
+
PushNotification.
Definition PushNotification.h:17
+
Base class for all device types.
Definition SinricProDevice.h:24
+
Device to turn on / off a fan and change it's speed by using powerlevel.
Definition SinricProFan.h:28
diff --git a/docs/_sinric_pro_fan_u_s_8h_source.html b/docs/_sinric_pro_fan_u_s_8h_source.html index dd93b76..00db716 100644 --- a/docs/_sinric_pro_fan_u_s_8h_source.html +++ b/docs/_sinric_pro_fan_u_s_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProFanUS.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProFanUS.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,62 +81,70 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProFanUS.h
+
SinricProFanUS.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #include "SinricProDevice.h"
-
11 #include "Capabilities/SettingController.h"
-
12 #include "Capabilities/PushNotification.h"
-
13 #include "Capabilities/PowerStateController.h"
-
14 #include "Capabilities/RangeController.h"
-
15 
-
16 #include "SinricProNamespace.h"
-
17 namespace SINRICPRO_NAMESPACE {
-
18 
- -
25  public SettingController<SinricProFanUS>,
-
26  public PushNotification<SinricProFanUS>,
-
27  public PowerStateController<SinricProFanUS>,
-
28  public RangeController<SinricProFanUS> {
-
29  friend class SettingController<SinricProFanUS>;
-
30  friend class PushNotification<SinricProFanUS>;
- -
32  friend class RangeController<SinricProFanUS>;
-
33  public:
-
34  SinricProFanUS(const String &deviceId) : SinricProDevice(deviceId, "FAN") {}
-
35 };
-
36 
-
37 } // Namespace
-
38 
-
39 using SinricProFanUS = SINRICPRO_NAMESPACE::SinricProFanUS;
-
PowerStateController.
Definition: PowerStateController.h:36
-
PushNotification.
Definition: PushNotification.h:17
-
RangeControllerFloatInt.
Definition: RangeController.h:109
-
Base class for all device types.
Definition: SinricProDevice.h:24
-
Device to control a fan with on / off commands and its speed by a range value.
Definition: SinricProFanUS.h:28
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#include "SinricProDevice.h"
+
11#include "Capabilities/SettingController.h"
+
12#include "Capabilities/PushNotification.h"
+
13#include "Capabilities/PowerStateController.h"
+
14#include "Capabilities/RangeController.h"
+
15
+
16#include "SinricProNamespace.h"
+
17namespace SINRICPRO_NAMESPACE {
+
18
+
+ +
25 public SettingController<SinricProFanUS>,
+
26 public PushNotification<SinricProFanUS>,
+
27 public PowerStateController<SinricProFanUS>,
+
28 public RangeController<SinricProFanUS> {
+
29 friend class SettingController<SinricProFanUS>;
+
30 friend class PushNotification<SinricProFanUS>;
+ +
32 friend class RangeController<SinricProFanUS>;
+
33 public:
+
34 SinricProFanUS(const String &deviceId) : SinricProDevice(deviceId, "FAN") {}
+
35};
+
+
36
+
37} // Namespace
+
38
+
39using SinricProFanUS = SINRICPRO_NAMESPACE::SinricProFanUS;
+
PowerStateController.
Definition PowerStateController.h:36
+
PushNotification.
Definition PushNotification.h:17
+
RangeControllerFloatInt.
Definition RangeController.h:109
+
Base class for all device types.
Definition SinricProDevice.h:24
+
Device to control a fan with on / off commands and its speed by a range value.
Definition SinricProFanUS.h:28
diff --git a/docs/_sinric_pro_garage_door_8h_source.html b/docs/_sinric_pro_garage_door_8h_source.html index abd4c7f..807ea20 100644 --- a/docs/_sinric_pro_garage_door_8h_source.html +++ b/docs/_sinric_pro_garage_door_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProGarageDoor.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProGarageDoor.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,58 +81,66 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProGarageDoor.h
+
SinricProGarageDoor.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #include "SinricProDevice.h"
-
11 #include "Capabilities/SettingController.h"
-
12 #include "Capabilities/PushNotification.h"
-
13 #include "Capabilities/DoorController.h"
-
14 
-
15 #include "SinricProNamespace.h"
-
16 namespace SINRICPRO_NAMESPACE {
-
17 
- -
27  public SettingController<SinricProGarageDoor>,
-
28  public PushNotification<SinricProGarageDoor>,
-
29  public DoorController<SinricProGarageDoor> {
-
30  friend class SettingController<SinricProGarageDoor>;
- -
32  friend class DoorController<SinricProGarageDoor>;
-
33  public:
-
34  SinricProGarageDoor(const String &deviceId) : SinricProDevice(deviceId, "GARAGE_DOOR") {}
-
35 };
-
36 
-
37 } // Namespace
-
38 
-
39 using SinricProGarageDoor = SINRICPRO_NAMESPACE::SinricProGarageDoor;
-
DoorController - only used for GarageDoor device and cannot used as capability for a custom device!
Definition: DoorController.h:36
-
PushNotification.
Definition: PushNotification.h:17
-
Base class for all device types.
Definition: SinricProDevice.h:24
-
Device to control a garage door.
Definition: SinricProGarageDoor.h:29
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#include "SinricProDevice.h"
+
11#include "Capabilities/SettingController.h"
+
12#include "Capabilities/PushNotification.h"
+
13#include "Capabilities/DoorController.h"
+
14
+
15#include "SinricProNamespace.h"
+
16namespace SINRICPRO_NAMESPACE {
+
17
+
+ +
27 public SettingController<SinricProGarageDoor>,
+
28 public PushNotification<SinricProGarageDoor>,
+
29 public DoorController<SinricProGarageDoor> {
+
30 friend class SettingController<SinricProGarageDoor>;
+ + +
33 public:
+
34 SinricProGarageDoor(const String &deviceId) : SinricProDevice(deviceId, "GARAGE_DOOR") {}
+
35};
+
+
36
+
37} // Namespace
+
38
+
39using SinricProGarageDoor = SINRICPRO_NAMESPACE::SinricProGarageDoor;
+
DoorController - only used for GarageDoor device and cannot used as capability for a custom device!
Definition DoorController.h:36
+
PushNotification.
Definition PushNotification.h:17
+
Base class for all device types.
Definition SinricProDevice.h:24
+
Device to control a garage door.
Definition SinricProGarageDoor.h:29
diff --git a/docs/_sinric_pro_interface_8h_source.html b/docs/_sinric_pro_interface_8h_source.html index 8fc12f8..05a615d 100644 --- a/docs/_sinric_pro_interface_8h_source.html +++ b/docs/_sinric_pro_interface_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProInterface.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProInterface.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,48 +81,54 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProInterface.h
+
SinricProInterface.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #include "ArduinoJson.h"
-
11 #include "SinricProQueue.h"
-
12 
-
13 #include "SinricProNamespace.h"
-
14 namespace SINRICPRO_NAMESPACE {
-
15 
-
16 class SinricProInterface {
-
17  friend class SinricProDevice;
-
18  protected:
-
19  virtual void sendMessage(JsonDocument& jsonEvent);
-
20  virtual DynamicJsonDocument prepareEvent(String deviceId, const char* action, const char* cause);
-
21  virtual unsigned long getTimestamp();
-
22  virtual bool isConnected();
-
23 };
-
24 
-
25 } // SINRICPRO_NAMESPACE
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#include "ArduinoJson.h"
+
11#include "SinricProQueue.h"
+
12
+
13#include "SinricProNamespace.h"
+
14namespace SINRICPRO_NAMESPACE {
+
15
+
16class SinricProInterface {
+
17 friend class SinricProDevice;
+
18 protected:
+
19 virtual void sendMessage(JsonDocument& jsonEvent);
+
20 virtual DynamicJsonDocument prepareEvent(String deviceId, const char* action, const char* cause);
+
21 virtual unsigned long getTimestamp();
+
22 virtual bool isConnected();
+
23};
+
24
+
25} // SINRICPRO_NAMESPACE
diff --git a/docs/_sinric_pro_light_8h_source.html b/docs/_sinric_pro_light_8h_source.html index cf2ddbf..6fbdb0d 100644 --- a/docs/_sinric_pro_light_8h_source.html +++ b/docs/_sinric_pro_light_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProLight.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProLight.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,69 +81,77 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProLight.h
+
SinricProLight.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 #pragma once
-
8 
-
9 #include "SinricProDevice.h"
-
10 #include "Capabilities/SettingController.h"
-
11 #include "Capabilities/PushNotification.h"
-
12 #include "Capabilities/PowerStateController.h"
-
13 #include "Capabilities/BrightnessController.h"
-
14 #include "Capabilities/ColorController.h"
-
15 #include "Capabilities/ColorTemperatureController.h"
-
16 
-
17 #include "SinricProNamespace.h"
-
18 namespace SINRICPRO_NAMESPACE {
-
19 
- -
32  public SettingController<SinricProLight>,
-
33  public PushNotification<SinricProLight>,
-
34  public PowerStateController<SinricProLight>,
-
35  public BrightnessController<SinricProLight>,
-
36  public ColorController<SinricProLight>,
-
37  public ColorTemperatureController<SinricProLight> {
-
38  friend class SettingController<SinricProLight>;
-
39  friend class PushNotification<SinricProLight>;
- - -
42  friend class ColorController<SinricProLight>;
- -
44  public:
-
45  SinricProLight(const String &deviceId) : SinricProDevice(deviceId, "LIGHT") {}
-
46 };
-
47 
-
48 } // SINRICPRO_NAMESPACE
-
49 
-
50 using SinricProLight = SINRICPRO_NAMESPACE::SinricProLight;
-
BrightnessController.
Definition: BrightnessController.h:50
-
ColorController.
Definition: ColorController.h:40
-
ColorTemperatureController.
Definition: ColorTemperatureController.h:66
-
PowerStateController.
Definition: PowerStateController.h:36
-
PushNotification.
Definition: PushNotification.h:17
-
Base class for all device types.
Definition: SinricProDevice.h:24
-
Device to control a light.
Definition: SinricProLight.h:37
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7#pragma once
+
8
+
9#include "SinricProDevice.h"
+
10#include "Capabilities/SettingController.h"
+
11#include "Capabilities/PushNotification.h"
+
12#include "Capabilities/PowerStateController.h"
+
13#include "Capabilities/BrightnessController.h"
+
14#include "Capabilities/ColorController.h"
+
15#include "Capabilities/ColorTemperatureController.h"
+
16
+
17#include "SinricProNamespace.h"
+
18namespace SINRICPRO_NAMESPACE {
+
19
+
+ +
32 public SettingController<SinricProLight>,
+
33 public PushNotification<SinricProLight>,
+
34 public PowerStateController<SinricProLight>,
+
35 public BrightnessController<SinricProLight>,
+
36 public ColorController<SinricProLight>,
+
37 public ColorTemperatureController<SinricProLight> {
+
38 friend class SettingController<SinricProLight>;
+
39 friend class PushNotification<SinricProLight>;
+ + +
42 friend class ColorController<SinricProLight>;
+ +
44 public:
+
45 SinricProLight(const String &deviceId) : SinricProDevice(deviceId, "LIGHT") {}
+
46};
+
+
47
+
48} // SINRICPRO_NAMESPACE
+
49
+
50using SinricProLight = SINRICPRO_NAMESPACE::SinricProLight;
+
BrightnessController.
Definition BrightnessController.h:50
+
ColorController.
Definition ColorController.h:40
+
ColorTemperatureController.
Definition ColorTemperatureController.h:66
+
PowerStateController.
Definition PowerStateController.h:36
+
PushNotification.
Definition PushNotification.h:17
+
Base class for all device types.
Definition SinricProDevice.h:24
+
Device to control a light.
Definition SinricProLight.h:37
diff --git a/docs/_sinric_pro_lock_8h_source.html b/docs/_sinric_pro_lock_8h_source.html index 61bbbd4..30180d3 100644 --- a/docs/_sinric_pro_lock_8h_source.html +++ b/docs/_sinric_pro_lock_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProLock.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProLock.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,58 +81,66 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProLock.h
+
SinricProLock.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #include "SinricProDevice.h"
-
11 #include "Capabilities/SettingController.h"
-
12 #include "Capabilities/PushNotification.h"
-
13 #include "Capabilities/LockController.h"
-
14 
-
15 #include "SinricProNamespace.h"
-
16 namespace SINRICPRO_NAMESPACE {
-
17 
- -
28  public SettingController<SinricProLock>,
-
29  public PushNotification<SinricProLock>,
-
30  public LockController<SinricProLock> {
-
31  friend class SettingController<SinricProLock>;
-
32  friend class PushNotification<SinricProLock>;
-
33  friend class LockController<SinricProLock>;
-
34  public:
-
35  SinricProLock(const String &deviceId) : SinricProDevice(deviceId, "SMARTLOCK") {}
-
36 };
-
37 
-
38 } // SINRICPRO_NAMESPACE#
-
39 
-
40 using SinricProLock = SINRICPRO_NAMESPACE::SinricProLock;
-
LockController.
Definition: LockController.h:44
-
PushNotification.
Definition: PushNotification.h:17
-
Base class for all device types.
Definition: SinricProDevice.h:24
-
Device to control a smart lock.
Definition: SinricProLock.h:30
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#include "SinricProDevice.h"
+
11#include "Capabilities/SettingController.h"
+
12#include "Capabilities/PushNotification.h"
+
13#include "Capabilities/LockController.h"
+
14
+
15#include "SinricProNamespace.h"
+
16namespace SINRICPRO_NAMESPACE {
+
17
+
+ +
28 public SettingController<SinricProLock>,
+
29 public PushNotification<SinricProLock>,
+
30 public LockController<SinricProLock> {
+
31 friend class SettingController<SinricProLock>;
+
32 friend class PushNotification<SinricProLock>;
+
33 friend class LockController<SinricProLock>;
+
34 public:
+
35 SinricProLock(const String &deviceId) : SinricProDevice(deviceId, "SMARTLOCK") {}
+
36};
+
+
37
+
38} // SINRICPRO_NAMESPACE#
+
39
+
40using SinricProLock = SINRICPRO_NAMESPACE::SinricProLock;
+
LockController.
Definition LockController.h:44
+
PushNotification.
Definition PushNotification.h:17
+
Base class for all device types.
Definition SinricProDevice.h:24
+
Device to control a smart lock.
Definition SinricProLock.h:30
diff --git a/docs/_sinric_pro_messageid_8h_source.html b/docs/_sinric_pro_messageid_8h_source.html index baf2060..5f9f536 100644 --- a/docs/_sinric_pro_messageid_8h_source.html +++ b/docs/_sinric_pro_messageid_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProMessageid.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProMessageid.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,59 +81,65 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProMessageid.h
+
SinricProMessageid.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #include "SinricProNamespace.h"
-
11 namespace SINRICPRO_NAMESPACE {
-
12 
-
13 class MessageID {
-
14 public:
-
15  MessageID();
-
16  const String& getID() { return _id; }
-
17 private:
-
18  String _id;
-
19 };
-
20 
-
21 MessageID::MessageID() {
-
22  _id = "";
-
23  for (byte i=0; i<16; i++) {
-
24  byte rnd = random(255);
-
25  if (i==4) _id += "-";
-
26  if (i==6) { _id += "-"; rnd = 0x40 | (0x0F & rnd); } // 0100xxxx to set version 4
-
27  if (i==8) { _id += "-"; rnd = 0x80 | (0x3F & rnd); } // 10xxxxxx to set reserved bits
-
28  if (i==10) _id += "-";
-
29  byte high_nibble = rnd >> 4;
-
30  byte low_nibble = rnd & 0x0f;
-
31  _id += "0123456789abcdef"[high_nibble];
-
32  _id += "0123456789abcdef"[low_nibble];
-
33  }
-
34 }
-
35 
-
36 } // SINRICPRO_NAMESPACE
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#include "SinricProNamespace.h"
+
11namespace SINRICPRO_NAMESPACE {
+
12
+
13class MessageID {
+
14public:
+
15 MessageID();
+
16 const String& getID() { return _id; }
+
17private:
+
18 String _id;
+
19};
+
20
+
21MessageID::MessageID() {
+
22 _id = "";
+
23 for (byte i=0; i<16; i++) {
+
24 byte rnd = random(255);
+
25 if (i==4) _id += "-";
+
26 if (i==6) { _id += "-"; rnd = 0x40 | (0x0F & rnd); } // 0100xxxx to set version 4
+
27 if (i==8) { _id += "-"; rnd = 0x80 | (0x3F & rnd); } // 10xxxxxx to set reserved bits
+
28 if (i==10) _id += "-";
+
29 byte high_nibble = rnd >> 4;
+
30 byte low_nibble = rnd & 0x0f;
+
31 _id += "0123456789abcdef"[high_nibble];
+
32 _id += "0123456789abcdef"[low_nibble];
+
33 }
+
34}
+
35
+
36} // SINRICPRO_NAMESPACE
diff --git a/docs/_sinric_pro_motionsensor_8h_source.html b/docs/_sinric_pro_motionsensor_8h_source.html index 568739d..3116f4f 100644 --- a/docs/_sinric_pro_motionsensor_8h_source.html +++ b/docs/_sinric_pro_motionsensor_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProMotionsensor.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProMotionsensor.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,62 +81,66 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProMotionsensor.h
+
SinricProMotionsensor.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #include "SinricProDevice.h"
-
11 #include "Capabilities/SettingController.h"
-
12 #include "Capabilities/PushNotification.h"
-
13 #include "Capabilities/PowerStateController.h"
-
14 #include "Capabilities/MotionSensor.h"
-
15 
-
16 #include "SinricProNamespace.h"
-
17 namespace SINRICPRO_NAMESPACE {
-
18 
- -
25  public SettingController<SinricProMotionsensor>,
-
26  public PushNotification<SinricProMotionsensor>,
-
27  public PowerStateController<SinricProMotionsensor>,
-
28  public MotionSensor<SinricProMotionsensor> {
-
29  friend class SettingController<SinricProMotionsensor>;
- - -
32  friend class MotionSensor<SinricProMotionsensor>;
-
33  public:
-
34  SinricProMotionsensor(const String &deviceId) : SinricProDevice(deviceId, "MOTION_SENSOR") {}
-
35 };
-
36 
-
37 } // SINRICPRO_NAMESPACE
-
38 
-
39 using SinricProMotionsensor = SINRICPRO_NAMESPACE::SinricProMotionsensor;
-
MotionSensor.
Definition: MotionSensor.h:19
-
PowerStateController.
Definition: PowerStateController.h:36
-
PushNotification.
Definition: PushNotification.h:17
-
Base class for all device types.
Definition: SinricProDevice.h:24
-
Device to report motion detection events.
Definition: SinricProMotionsensor.h:28
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#include "SinricProDevice.h"
+
11#include "Capabilities/SettingController.h"
+
12#include "Capabilities/PushNotification.h"
+
13#include "Capabilities/MotionSensor.h"
+
14
+
15#include "SinricProNamespace.h"
+
16namespace SINRICPRO_NAMESPACE {
+
17
+
+ +
24 public SettingController<SinricProMotionsensor>,
+
25 public PushNotification<SinricProMotionsensor>,
+
26 public MotionSensor<SinricProMotionsensor> {
+
27 friend class SettingController<SinricProMotionsensor>;
+ + +
30 public:
+
31 SinricProMotionsensor(const String &deviceId) : SinricProDevice(deviceId, "MOTION_SENSOR") {}
+
32};
+
+
33
+
34} // SINRICPRO_NAMESPACE
+
35
+
36using SinricProMotionsensor = SINRICPRO_NAMESPACE::SinricProMotionsensor;
+
MotionSensor.
Definition MotionSensor.h:19
+
PushNotification.
Definition PushNotification.h:17
+
Base class for all device types.
Definition SinricProDevice.h:24
+
Device to report motion detection events.
Definition SinricProMotionsensor.h:26
diff --git a/docs/_sinric_pro_namespace_8h_source.html b/docs/_sinric_pro_namespace_8h_source.html index d132f55..7677b46 100644 --- a/docs/_sinric_pro_namespace_8h_source.html +++ b/docs/_sinric_pro_namespace_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProNamespace.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProNamespace.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,35 +81,41 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProNamespace.h
+
SinricProNamespace.h
-
1 #pragma once
-
2 
-
3 #include "SinricProVersion.h"
-
4 
-
5 #define DO_CONCATE(A, B, C, D) A ## _ ## B ## _ ## C ## _ ## D
-
6 #define CONCATE(A, B, C, D) DO_CONCATE(A, B, C, D)
-
7 
-
8 #define SINRICPRO_NAMESPACE CONCATE(SINRICPRO, SINRICPRO_VERSION_MAJOR, SINRICPRO_VERSION_MINOR, SINRICPRO_VERSION_REVISION)
-
9 #define NAMESPACE_STR STR(SINRICPRO_NAMESPACE)
-
10 
-
11 
-
16 namespace SINRICPRO_NAMESPACE {}
+
1#pragma once
+
2
+
3#include "SinricProVersion.h"
+
4
+
5#define DO_CONCATE(A, B, C, D) A ## _ ## B ## _ ## C ## _ ## D
+
6#define CONCATE(A, B, C, D) DO_CONCATE(A, B, C, D)
+
7
+
8#define SINRICPRO_NAMESPACE CONCATE(SINRICPRO, SINRICPRO_VERSION_MAJOR, SINRICPRO_VERSION_MINOR, SINRICPRO_VERSION_REVISION)
+
9#define NAMESPACE_STR STR(SINRICPRO_NAMESPACE)
+
10
+
11
+
16namespace SINRICPRO_NAMESPACE {}
diff --git a/docs/_sinric_pro_power_sensor_8h_source.html b/docs/_sinric_pro_power_sensor_8h_source.html index c474c6e..016bec9 100644 --- a/docs/_sinric_pro_power_sensor_8h_source.html +++ b/docs/_sinric_pro_power_sensor_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProPowerSensor.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProPowerSensor.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,62 +81,66 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProPowerSensor.h
+
SinricProPowerSensor.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #include "SinricProDevice.h"
-
11 #include "Capabilities/SettingController.h"
-
12 #include "Capabilities/PushNotification.h"
-
13 #include "Capabilities/PowerSensor.h"
-
14 #include "Capabilities/PowerStateController.h"
-
15 
-
16 #include "SinricProNamespace.h"
-
17 namespace SINRICPRO_NAMESPACE {
-
18 
- -
25  public SettingController<SinricProPowerSensor>,
-
26  public PushNotification<SinricProPowerSensor>,
-
27  public PowerSensor<SinricProPowerSensor>,
-
28  public PowerStateController<SinricProPowerSensor> {
-
29  friend class SettingController<SinricProPowerSensor>;
- -
31  friend class PowerSensor<SinricProPowerSensor>;
- -
33  public:
-
34  SinricProPowerSensor(const String &deviceId) : SinricProDevice(deviceId, "POWER_SENSOR") {}
-
35 };
-
36 
-
37 } // SINRICPRO_NAMESPACE
-
38 
-
39 using SinricProPowerSensor = SINRICPRO_NAMESPACE::SinricProPowerSensor;
-
PowerSensor.
Definition: PowerSensor.h:24
-
PowerStateController.
Definition: PowerStateController.h:36
-
PushNotification.
Definition: PushNotification.h:17
-
Base class for all device types.
Definition: SinricProDevice.h:24
-
Device to report power usage.
Definition: SinricProPowerSensor.h:28
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#include "SinricProDevice.h"
+
11#include "Capabilities/SettingController.h"
+
12#include "Capabilities/PushNotification.h"
+
13#include "Capabilities/PowerSensor.h"
+
14
+
15#include "SinricProNamespace.h"
+
16namespace SINRICPRO_NAMESPACE {
+
17
+
+ +
24 public SettingController<SinricProPowerSensor>,
+
25 public PushNotification<SinricProPowerSensor>,
+
26 public PowerSensor<SinricProPowerSensor> {
+
27 friend class SettingController<SinricProPowerSensor>;
+ + +
30 public:
+
31 SinricProPowerSensor(const String &deviceId) : SinricProDevice(deviceId, "POWER_SENSOR") {}
+
32};
+
+
33
+
34} // SINRICPRO_NAMESPACE
+
35
+
36using SinricProPowerSensor = SINRICPRO_NAMESPACE::SinricProPowerSensor;
+
PowerSensor.
Definition PowerSensor.h:24
+
PushNotification.
Definition PushNotification.h:17
+
Base class for all device types.
Definition SinricProDevice.h:24
+
Device to report power usage.
Definition SinricProPowerSensor.h:26
diff --git a/docs/_sinric_pro_queue_8h_source.html b/docs/_sinric_pro_queue_8h_source.html index 7f8df3c..01dac6a 100644 --- a/docs/_sinric_pro_queue_8h_source.html +++ b/docs/_sinric_pro_queue_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProQueue.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProQueue.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,75 +81,81 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProQueue.h
+
SinricProQueue.h
-
1 /*
-
2  * Copyright (c) 2021 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #include <queue>
-
11 
-
12 #include "SinricProNamespace.h"
-
13 namespace SINRICPRO_NAMESPACE {
-
14 
-
15 typedef enum {
-
16  IF_UNKNOWN = 0,
-
17  IF_WEBSOCKET = 1,
-
18  IF_UDP = 2
-
19 } interface_t;
-
20 
-
21 class SinricProMessage {
-
22 public:
-
23  SinricProMessage(interface_t interface, const char* message);
-
24  ~SinricProMessage();
-
25  const char* getMessage() const;
-
26  interface_t getInterface() const;
-
27 private:
-
28  interface_t _interface;
-
29  char* _message;
-
30 };
-
31 
-
32 SinricProMessage::SinricProMessage(interface_t interface, const char* message) :
-
33  _interface(interface) {
-
34  _message = strdup(message);
-
35 };
-
36 
-
37 SinricProMessage::~SinricProMessage() {
-
38  if (_message) free(_message);
-
39 };
-
40 
-
41 const char* SinricProMessage::getMessage() const {
-
42  return _message;
-
43 };
-
44 
-
45 interface_t SinricProMessage::getInterface() const {
-
46  return _interface;
-
47 };
-
48 
-
49 
-
50 typedef std::queue<SinricProMessage*> SinricProQueue_t;
-
51 
-
52 } // SINRICPRO_NAMESPACE
+
1/*
+
2 * Copyright (c) 2021 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#include <queue>
+
11
+
12#include "SinricProNamespace.h"
+
13namespace SINRICPRO_NAMESPACE {
+
14
+
15typedef enum {
+
16 IF_UNKNOWN = 0,
+
17 IF_WEBSOCKET = 1,
+
18 IF_UDP = 2
+
19} interface_t;
+
20
+
21class SinricProMessage {
+
22public:
+
23 SinricProMessage(interface_t interface, const char* message);
+
24 ~SinricProMessage();
+
25 const char* getMessage() const;
+
26 interface_t getInterface() const;
+
27private:
+
28 interface_t _interface;
+
29 char* _message;
+
30};
+
31
+
32SinricProMessage::SinricProMessage(interface_t interface, const char* message) :
+
33 _interface(interface) {
+
34 _message = strdup(message);
+
35};
+
36
+
37SinricProMessage::~SinricProMessage() {
+
38 if (_message) free(_message);
+
39};
+
40
+
41const char* SinricProMessage::getMessage() const {
+
42 return _message;
+
43};
+
44
+
45interface_t SinricProMessage::getInterface() const {
+
46 return _interface;
+
47};
+
48
+
49
+
50typedef std::queue<SinricProMessage*> SinricProQueue_t;
+
51
+
52} // SINRICPRO_NAMESPACE
diff --git a/docs/_sinric_pro_request_8h_source.html b/docs/_sinric_pro_request_8h_source.html index 8e1291b..9d7e2ae 100644 --- a/docs/_sinric_pro_request_8h_source.html +++ b/docs/_sinric_pro_request_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProRequest.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProRequest.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,42 +81,48 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProRequest.h
+
SinricProRequest.h
-
1 #pragma once
-
2 
-
3 #include <WString.h>
-
4 #include <ArduinoJson.h>
-
5 #include <functional>
-
6 
-
7 #include "SinricProNamespace.h"
-
8 namespace SINRICPRO_NAMESPACE {
-
9 
-
10 struct SinricProRequest {
-
11  const String &action;
-
12  const String &instance;
-
13  JsonObject &request_value;
-
14  JsonObject &response_value;
-
15 };
-
16 
-
17 using SinricProRequestHandler = std::function<bool(SinricProRequest&)>;
-
18 
-
19 } // SINRICPRO_NAMESPACE
+
1#pragma once
+
2
+
3#include <WString.h>
+
4#include <ArduinoJson.h>
+
5#include <functional>
+
6
+
7#include "SinricProNamespace.h"
+
8namespace SINRICPRO_NAMESPACE {
+
9
+
10struct SinricProRequest {
+
11 const String &action;
+
12 const String &instance;
+
13 JsonObject &request_value;
+
14 JsonObject &response_value;
+
15};
+
16
+
17using SinricProRequestHandler = std::function<bool(SinricProRequest&)>;
+
18
+
19} // SINRICPRO_NAMESPACE
diff --git a/docs/_sinric_pro_signature_8h_source.html b/docs/_sinric_pro_signature_8h_source.html index 9849bda..a38e804 100644 --- a/docs/_sinric_pro_signature_8h_source.html +++ b/docs/_sinric_pro_signature_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProSignature.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProSignature.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,41 +81,47 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProSignature.h
+
SinricProSignature.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #include "SinricProNamespace.h"
-
11 namespace SINRICPRO_NAMESPACE {
-
12 
-
13 String HMACbase64(const String &message, const String &key);
-
14 String extractPayload(const char *message);
-
15 String calculateSignature(const char* key, String payload);
-
16 String signMessage(String key, JsonDocument &jsonMessage);
-
17 
-
18 } // SINRICPRO_NAMESPACE
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#include "SinricProNamespace.h"
+
11namespace SINRICPRO_NAMESPACE {
+
12
+
13String HMACbase64(const String &message, const String &key);
+
14String extractPayload(const char *message);
+
15String calculateSignature(const char* key, String payload);
+
16String signMessage(String key, JsonDocument &jsonMessage);
+
17
+
18} // SINRICPRO_NAMESPACE
diff --git a/docs/_sinric_pro_speaker_8h_source.html b/docs/_sinric_pro_speaker_8h_source.html index 3a0c3ec..0b77815 100644 --- a/docs/_sinric_pro_speaker_8h_source.html +++ b/docs/_sinric_pro_speaker_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProSpeaker.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProSpeaker.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,82 +81,90 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProSpeaker.h
+
SinricProSpeaker.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #include "SinricProDevice.h"
-
11 #include "Capabilities/SettingController.h"
-
12 #include "Capabilities/PushNotification.h"
-
13 #include "Capabilities/PowerStateController.h"
-
14 #include "Capabilities/MuteController.h"
-
15 #include "Capabilities/VolumeController.h"
-
16 #include "Capabilities/MediaController.h"
-
17 #include "Capabilities/InputController.h"
-
18 #include "Capabilities/EqualizerController.h"
-
19 #include "Capabilities/ModeController.h"
-
20 
-
21 #include "SinricProNamespace.h"
-
22 namespace SINRICPRO_NAMESPACE {
-
23 
- -
45  public SettingController<SinricProSpeaker>,
-
46  public PushNotification<SinricProSpeaker>,
-
47  public PowerStateController<SinricProSpeaker>,
-
48  public MuteController<SinricProSpeaker>,
-
49  public VolumeController<SinricProSpeaker>,
-
50  public MediaController<SinricProSpeaker>,
-
51  public InputController<SinricProSpeaker>,
-
52  public EqualizerController<SinricProSpeaker>,
-
53  public ModeController<SinricProSpeaker> {
-
54  friend class SettingController<SinricProSpeaker>;
-
55  friend class PushNotification<SinricProSpeaker>;
- -
57  friend class MuteController<SinricProSpeaker>;
-
58  friend class VolumeController<SinricProSpeaker>;
-
59  friend class MediaController<SinricProSpeaker>;
-
60  friend class InputController<SinricProSpeaker>;
- -
62  friend class ModeController<SinricProSpeaker>;
-
63 public:
-
64  SinricProSpeaker(const String &deviceId) : SinricProDevice(deviceId, "SPEAKER") {}
-
65 };
-
66 
-
67 } // SINRICPRO_NAMESPACE
-
68 
-
69 using SinricProSpeaker = SINRICPRO_NAMESPACE::SinricProSpeaker;
-
EqualizerController.
Definition: EqualizerController.h:79
-
InputController.
Definition: InputController.h:35
-
MediaController.
Definition: MediaController.h:35
-
ModeController.
Definition: ModeController.h:53
-
MuteController.
Definition: MuteController.h:35
-
PowerStateController.
Definition: PowerStateController.h:36
-
PushNotification.
Definition: PushNotification.h:17
-
Base class for all device types.
Definition: SinricProDevice.h:24
-
Device to control a smart speaker.
Definition: SinricProSpeaker.h:53
-
VolumeController.
Definition: VolumeController.h:54
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#include "SinricProDevice.h"
+
11#include "Capabilities/SettingController.h"
+
12#include "Capabilities/PushNotification.h"
+
13#include "Capabilities/PowerStateController.h"
+
14#include "Capabilities/MuteController.h"
+
15#include "Capabilities/VolumeController.h"
+
16#include "Capabilities/MediaController.h"
+
17#include "Capabilities/InputController.h"
+
18#include "Capabilities/EqualizerController.h"
+
19#include "Capabilities/ModeController.h"
+
20
+
21#include "SinricProNamespace.h"
+
22namespace SINRICPRO_NAMESPACE {
+
23
+
+ +
45 public SettingController<SinricProSpeaker>,
+
46 public PushNotification<SinricProSpeaker>,
+
47 public PowerStateController<SinricProSpeaker>,
+
48 public MuteController<SinricProSpeaker>,
+
49 public VolumeController<SinricProSpeaker>,
+
50 public MediaController<SinricProSpeaker>,
+
51 public InputController<SinricProSpeaker>,
+
52 public EqualizerController<SinricProSpeaker>,
+
53 public ModeController<SinricProSpeaker> {
+
54 friend class SettingController<SinricProSpeaker>;
+ + +
57 friend class MuteController<SinricProSpeaker>;
+ + + + +
62 friend class ModeController<SinricProSpeaker>;
+
63public:
+
64 SinricProSpeaker(const String &deviceId) : SinricProDevice(deviceId, "SPEAKER") {}
+
65};
+
+
66
+
67} // SINRICPRO_NAMESPACE
+
68
+
69using SinricProSpeaker = SINRICPRO_NAMESPACE::SinricProSpeaker;
+
EqualizerController.
Definition EqualizerController.h:79
+
InputController.
Definition InputController.h:35
+
MediaController.
Definition MediaController.h:35
+
ModeController.
Definition ModeController.h:53
+
MuteController.
Definition MuteController.h:35
+
PowerStateController.
Definition PowerStateController.h:36
+
PushNotification.
Definition PushNotification.h:17
+
Base class for all device types.
Definition SinricProDevice.h:24
+
Device to control a smart speaker.
Definition SinricProSpeaker.h:53
+
VolumeController.
Definition VolumeController.h:54
diff --git a/docs/_sinric_pro_strings_8h_source.html b/docs/_sinric_pro_strings_8h_source.html index 559c4f6..347c4ee 100644 --- a/docs/_sinric_pro_strings_8h_source.html +++ b/docs/_sinric_pro_strings_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProStrings.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProStrings.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,57 +81,63 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProStrings.h
+
SinricProStrings.h
-
1 #pragma once
-
2 
-
3 #include "SinricProNamespace.h"
-
4 namespace SINRICPRO_NAMESPACE {
-
5 
-
14 #define FSTR(x, y) const char* FSTR_ ##x ##_ ##y PROGMEM = #y
-
15 
-
16 FSTR(SINRICPRO, instanceId); // "instanceId"
-
17 FSTR(SINRICPRO, message); // "message"
-
18 FSTR(SINRICPRO, success); // "success"
-
19 FSTR(SINRICPRO, response); // "response"
-
20 FSTR(SINRICPRO, header); // "header"
-
21 FSTR(SINRICPRO, payloadVersion); // "payloadVersion"
-
22 FSTR(SINRICPRO, signatureVersion); // "signatureVersion"
-
23 FSTR(SINRICPRO, payload); // "payload"
-
24 FSTR(SINRICPRO, action); // "action"
-
25 FSTR(SINRICPRO, cause); // "cause"
-
26 FSTR(SINRICPRO, type); // "type"
-
27 FSTR(SINRICPRO, createdAt); // "createdAt"
-
28 FSTR(SINRICPRO, deviceId); // "deviceId"
-
29 FSTR(SINRICPRO, replyToken); // "replyToken"
-
30 FSTR(SINRICPRO, event); // "event"
-
31 FSTR(SINRICPRO, value); // "value"
-
32 FSTR(SINRICPRO, clientId); // "clientId"
-
33 FSTR(SINRICPRO, request); // "request"
-
34 FSTR(SINRICPRO, signature); // "signature"
-
35 FSTR(SINRICPRO, HMAC); // "HMAC"
-
36 FSTR(SINRICPRO, timestamp); // "timestamp"
-
37 FSTR(SINRICPRO, PERIODIC_POLL); // "PERIODIC_POLL"
-
38 FSTR(SINRICPRO, PHYSICAL_INTERACTION); // "PHYSICAL_INTERACTION"
-
39 FSTR(SINRICPRO, ALERT); // "ALERT"
-
40 FSTR(SINRICPRO, OK); // "OK"
-
41 
-
42 } // SINRICPRO_NAMESPACE
+
1#pragma once
+
2
+
3#include "SinricProNamespace.h"
+
4namespace SINRICPRO_NAMESPACE {
+
5
+
14#define FSTR(x, y) const char* FSTR_ ##x ##_ ##y PROGMEM = #y
+
15
+
16FSTR(SINRICPRO, instanceId); // "instanceId"
+
17FSTR(SINRICPRO, message); // "message"
+
18FSTR(SINRICPRO, success); // "success"
+
19FSTR(SINRICPRO, response); // "response"
+
20FSTR(SINRICPRO, header); // "header"
+
21FSTR(SINRICPRO, payloadVersion); // "payloadVersion"
+
22FSTR(SINRICPRO, signatureVersion); // "signatureVersion"
+
23FSTR(SINRICPRO, payload); // "payload"
+
24FSTR(SINRICPRO, action); // "action"
+
25FSTR(SINRICPRO, cause); // "cause"
+
26FSTR(SINRICPRO, type); // "type"
+
27FSTR(SINRICPRO, createdAt); // "createdAt"
+
28FSTR(SINRICPRO, deviceId); // "deviceId"
+
29FSTR(SINRICPRO, replyToken); // "replyToken"
+
30FSTR(SINRICPRO, event); // "event"
+
31FSTR(SINRICPRO, value); // "value"
+
32FSTR(SINRICPRO, clientId); // "clientId"
+
33FSTR(SINRICPRO, request); // "request"
+
34FSTR(SINRICPRO, signature); // "signature"
+
35FSTR(SINRICPRO, HMAC); // "HMAC"
+
36FSTR(SINRICPRO, timestamp); // "timestamp"
+
37FSTR(SINRICPRO, PERIODIC_POLL); // "PERIODIC_POLL"
+
38FSTR(SINRICPRO, PHYSICAL_INTERACTION); // "PHYSICAL_INTERACTION"
+
39FSTR(SINRICPRO, ALERT); // "ALERT"
+
40FSTR(SINRICPRO, OK); // "OK"
+
41
+
42} // SINRICPRO_NAMESPACE
diff --git a/docs/_sinric_pro_switch_8h_source.html b/docs/_sinric_pro_switch_8h_source.html index d3a1f49..ad8d359 100644 --- a/docs/_sinric_pro_switch_8h_source.html +++ b/docs/_sinric_pro_switch_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProSwitch.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProSwitch.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,58 +81,66 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProSwitch.h
+
SinricProSwitch.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #include "SinricProDevice.h"
-
11 #include "Capabilities/SettingController.h"
-
12 #include "Capabilities/PushNotification.h"
-
13 #include "Capabilities/PowerStateController.h"
-
14 
-
15 #include "SinricProNamespace.h"
-
16 namespace SINRICPRO_NAMESPACE {
-
17 
- -
24  public SettingController<SinricProSwitch>,
-
25  public PushNotification<SinricProSwitch>,
-
26  public PowerStateController<SinricProSwitch> {
-
27  friend class SettingController<SinricProSwitch>;
-
28  friend class PushNotification<SinricProSwitch>;
- -
30  public:
-
31  SinricProSwitch(const String &deviceId) : SinricProDevice(deviceId, "SWITCH") {};
-
32 };
-
33 
-
34 } // SINRICPRO_NAMESPACE
-
35 
-
36 using SinricProSwitch = SINRICPRO_NAMESPACE::SinricProSwitch;
-
PowerStateController.
Definition: PowerStateController.h:36
-
PushNotification.
Definition: PushNotification.h:17
-
Base class for all device types.
Definition: SinricProDevice.h:24
-
Device suporting basic on / off command.
Definition: SinricProSwitch.h:26
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#include "SinricProDevice.h"
+
11#include "Capabilities/SettingController.h"
+
12#include "Capabilities/PushNotification.h"
+
13#include "Capabilities/PowerStateController.h"
+
14
+
15#include "SinricProNamespace.h"
+
16namespace SINRICPRO_NAMESPACE {
+
17
+
+ +
24 public SettingController<SinricProSwitch>,
+
25 public PushNotification<SinricProSwitch>,
+
26 public PowerStateController<SinricProSwitch> {
+
27 friend class SettingController<SinricProSwitch>;
+ + +
30 public:
+
31 SinricProSwitch(const String &deviceId) : SinricProDevice(deviceId, "SWITCH") {};
+
32};
+
+
33
+
34} // SINRICPRO_NAMESPACE
+
35
+
36using SinricProSwitch = SINRICPRO_NAMESPACE::SinricProSwitch;
+
PowerStateController.
Definition PowerStateController.h:36
+
PushNotification.
Definition PushNotification.h:17
+
Base class for all device types.
Definition SinricProDevice.h:24
+
Device suporting basic on / off command.
Definition SinricProSwitch.h:26
diff --git a/docs/_sinric_pro_t_v_8h_source.html b/docs/_sinric_pro_t_v_8h_source.html index 2fdd361..d04415b 100644 --- a/docs/_sinric_pro_t_v_8h_source.html +++ b/docs/_sinric_pro_t_v_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProTV.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProTV.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,78 +81,86 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProTV.h
+
SinricProTV.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #include "SinricProDevice.h"
-
11 #include "Capabilities/SettingController.h"
-
12 #include "Capabilities/PushNotification.h"
-
13 #include "Capabilities/PowerStateController.h"
-
14 #include "Capabilities/VolumeController.h"
-
15 #include "Capabilities/MuteController.h"
-
16 #include "Capabilities/MediaController.h"
-
17 #include "Capabilities/InputController.h"
-
18 #include "Capabilities/ChannelController.h"
-
19 
-
20 #include "SinricProNamespace.h"
-
21 namespace SINRICPRO_NAMESPACE {
-
22 
- -
40  public SettingController<SinricProTV>,
-
41  public PushNotification<SinricProTV>,
-
42  public PowerStateController<SinricProTV>,
-
43  public VolumeController<SinricProTV>,
-
44  public MuteController<SinricProTV>,
-
45  public MediaController<SinricProTV>,
-
46  public InputController<SinricProTV>,
-
47  public ChannelController<SinricProTV> {
-
48  friend class SettingController<SinricProTV>;
-
49  friend class PushNotification<SinricProTV>;
-
50  friend class PowerStateController<SinricProTV>;
-
51  friend class VolumeController<SinricProTV>;
-
52  friend class MuteController<SinricProTV>;
-
53  friend class MediaController<SinricProTV>;
-
54  friend class InputController<SinricProTV>;
-
55  friend class ChannelController<SinricProTV>;
-
56  public:
-
57  SinricProTV(const String &deviceId) : SinricProDevice(deviceId, "TV") {}
-
58 };
-
59 
-
60 } // SINRICPRO_NAMESPACE
-
61 
-
62 using SinricProTV = SINRICPRO_NAMESPACE::SinricProTV;
-
ChannelController.
Definition: ChannelController.h:70
-
InputController.
Definition: InputController.h:35
-
MediaController.
Definition: MediaController.h:35
-
MuteController.
Definition: MuteController.h:35
-
PowerStateController.
Definition: PowerStateController.h:36
-
PushNotification.
Definition: PushNotification.h:17
-
Base class for all device types.
Definition: SinricProDevice.h:24
-
Device to control a TV.
Definition: SinricProTV.h:47
-
VolumeController.
Definition: VolumeController.h:54
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#include "SinricProDevice.h"
+
11#include "Capabilities/SettingController.h"
+
12#include "Capabilities/PushNotification.h"
+
13#include "Capabilities/PowerStateController.h"
+
14#include "Capabilities/VolumeController.h"
+
15#include "Capabilities/MuteController.h"
+
16#include "Capabilities/MediaController.h"
+
17#include "Capabilities/InputController.h"
+
18#include "Capabilities/ChannelController.h"
+
19
+
20#include "SinricProNamespace.h"
+
21namespace SINRICPRO_NAMESPACE {
+
22
+
+ +
40 public SettingController<SinricProTV>,
+
41 public PushNotification<SinricProTV>,
+
42 public PowerStateController<SinricProTV>,
+
43 public VolumeController<SinricProTV>,
+
44 public MuteController<SinricProTV>,
+
45 public MediaController<SinricProTV>,
+
46 public InputController<SinricProTV>,
+
47 public ChannelController<SinricProTV> {
+
48 friend class SettingController<SinricProTV>;
+
49 friend class PushNotification<SinricProTV>;
+ +
51 friend class VolumeController<SinricProTV>;
+
52 friend class MuteController<SinricProTV>;
+
53 friend class MediaController<SinricProTV>;
+
54 friend class InputController<SinricProTV>;
+
55 friend class ChannelController<SinricProTV>;
+
56 public:
+
57 SinricProTV(const String &deviceId) : SinricProDevice(deviceId, "TV") {}
+
58};
+
+
59
+
60} // SINRICPRO_NAMESPACE
+
61
+
62using SinricProTV = SINRICPRO_NAMESPACE::SinricProTV;
+
ChannelController.
Definition ChannelController.h:70
+
InputController.
Definition InputController.h:35
+
MediaController.
Definition MediaController.h:35
+
MuteController.
Definition MuteController.h:35
+
PowerStateController.
Definition PowerStateController.h:36
+
PushNotification.
Definition PushNotification.h:17
+
Base class for all device types.
Definition SinricProDevice.h:24
+
Device to control a TV.
Definition SinricProTV.h:47
+
VolumeController.
Definition VolumeController.h:54
diff --git a/docs/_sinric_pro_temperaturesensor_8h_source.html b/docs/_sinric_pro_temperaturesensor_8h_source.html index 927ea63..7ac573c 100644 --- a/docs/_sinric_pro_temperaturesensor_8h_source.html +++ b/docs/_sinric_pro_temperaturesensor_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProTemperaturesensor.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProTemperaturesensor.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,62 +81,66 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProTemperaturesensor.h
+
SinricProTemperaturesensor.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #include "SinricProDevice.h"
-
11 #include "Capabilities/SettingController.h"
-
12 #include "Capabilities/PushNotification.h"
-
13 #include "Capabilities/PowerStateController.h"
-
14 #include "Capabilities/TemperatureSensor.h"
-
15 
-
16 #include "SinricProNamespace.h"
-
17 namespace SINRICPRO_NAMESPACE {
-
18 
- -
25  public SettingController<SinricProTemperaturesensor>,
-
26  public PushNotification<SinricProTemperaturesensor>,
-
27  public PowerStateController<SinricProTemperaturesensor>,
-
28  public TemperatureSensor<SinricProTemperaturesensor> {
-
29  friend class SettingController<SinricProTemperaturesensor>;
- - - -
33  public:
-
34  SinricProTemperaturesensor(const String &deviceId) : SinricProDevice(deviceId, "TEMPERATURESENSOR") {}
-
35 };
-
36 
-
37 } // SINRICPRO_NAMESPACE
-
38 
-
39 using SinricProTemperaturesensor = SINRICPRO_NAMESPACE::SinricProTemperaturesensor;
-
PowerStateController.
Definition: PowerStateController.h:36
-
PushNotification.
Definition: PushNotification.h:17
-
Base class for all device types.
Definition: SinricProDevice.h:24
-
Device to report actual temperature and humidity.
Definition: SinricProTemperaturesensor.h:28
-
TemperatureSensor.
Definition: TemperatureSensor.h:18
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#include "SinricProDevice.h"
+
11#include "Capabilities/SettingController.h"
+
12#include "Capabilities/PushNotification.h"
+
13#include "Capabilities/TemperatureSensor.h"
+
14
+
15#include "SinricProNamespace.h"
+
16namespace SINRICPRO_NAMESPACE {
+
17
+
+ +
24 public SettingController<SinricProTemperaturesensor>,
+
25 public PushNotification<SinricProTemperaturesensor>,
+
26 public TemperatureSensor<SinricProTemperaturesensor> {
+
27 friend class SettingController<SinricProTemperaturesensor>;
+ + +
30 public:
+
31 SinricProTemperaturesensor(const String &deviceId) : SinricProDevice(deviceId, "TEMPERATURESENSOR") {}
+
32};
+
+
33
+
34} // SINRICPRO_NAMESPACE
+
35
+
36using SinricProTemperaturesensor = SINRICPRO_NAMESPACE::SinricProTemperaturesensor;
+
PushNotification.
Definition PushNotification.h:17
+
Base class for all device types.
Definition SinricProDevice.h:24
+
Device to report actual temperature and humidity.
Definition SinricProTemperaturesensor.h:26
+
TemperatureSensor.
Definition TemperatureSensor.h:18
diff --git a/docs/_sinric_pro_thermostat_8h_source.html b/docs/_sinric_pro_thermostat_8h_source.html index 1b0622b..d73de8f 100644 --- a/docs/_sinric_pro_thermostat_8h_source.html +++ b/docs/_sinric_pro_thermostat_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProThermostat.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProThermostat.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,66 +81,74 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProThermostat.h
+
SinricProThermostat.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #include "SinricProDevice.h"
-
11 #include "Capabilities/SettingController.h"
-
12 #include "Capabilities/PushNotification.h"
-
13 #include "Capabilities/PowerStateController.h"
-
14 #include "Capabilities/ThermostatController.h"
-
15 #include "Capabilities/TemperatureSensor.h"
-
16 
-
17 #include "SinricProNamespace.h"
-
18 namespace SINRICPRO_NAMESPACE {
-
19 
- -
32  public SettingController<SinricProThermostat>,
-
33  public PushNotification<SinricProThermostat>,
-
34  public PowerStateController<SinricProThermostat>,
-
35  public ThermostatController<SinricProThermostat>,
-
36  public TemperatureSensor<SinricProThermostat> {
-
37  friend class SettingController<SinricProThermostat>;
- - - - -
42  public:
-
43  SinricProThermostat(const String &deviceId) : SinricProDevice(deviceId, "THERMOSTAT") {}
-
44 };
-
45 
-
46 } // SINRICPRO_NAMESPACE
-
47 
-
48 using SinricProThermostat = SINRICPRO_NAMESPACE::SinricProThermostat;
-
PowerStateController.
Definition: PowerStateController.h:36
-
PushNotification.
Definition: PushNotification.h:17
-
Base class for all device types.
Definition: SinricProDevice.h:24
-
Device to control Thermostat.
Definition: SinricProThermostat.h:36
-
TemperatureSensor.
Definition: TemperatureSensor.h:18
-
ThermostatController.
Definition: ThermostatController.h:70
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#include "SinricProDevice.h"
+
11#include "Capabilities/SettingController.h"
+
12#include "Capabilities/PushNotification.h"
+
13#include "Capabilities/PowerStateController.h"
+
14#include "Capabilities/ThermostatController.h"
+
15#include "Capabilities/TemperatureSensor.h"
+
16
+
17#include "SinricProNamespace.h"
+
18namespace SINRICPRO_NAMESPACE {
+
19
+
+ +
32 public SettingController<SinricProThermostat>,
+
33 public PushNotification<SinricProThermostat>,
+
34 public PowerStateController<SinricProThermostat>,
+
35 public ThermostatController<SinricProThermostat>,
+
36 public TemperatureSensor<SinricProThermostat> {
+
37 friend class SettingController<SinricProThermostat>;
+ + + + +
42 public:
+
43 SinricProThermostat(const String &deviceId) : SinricProDevice(deviceId, "THERMOSTAT") {}
+
44};
+
+
45
+
46} // SINRICPRO_NAMESPACE
+
47
+
48using SinricProThermostat = SINRICPRO_NAMESPACE::SinricProThermostat;
+
PowerStateController.
Definition PowerStateController.h:36
+
PushNotification.
Definition PushNotification.h:17
+
Base class for all device types.
Definition SinricProDevice.h:24
+
Device to control Thermostat.
Definition SinricProThermostat.h:36
+
TemperatureSensor.
Definition TemperatureSensor.h:18
+
ThermostatController.
Definition ThermostatController.h:70
diff --git a/docs/_sinric_pro_u_d_p_8h_source.html b/docs/_sinric_pro_u_d_p_8h_source.html index d82a198..e8d6402 100644 --- a/docs/_sinric_pro_u_d_p_8h_source.html +++ b/docs/_sinric_pro_u_d_p_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProUDP.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProUDP.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,100 +81,108 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProUDP.h
+
SinricProUDP.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #if defined ESP8266
-
11  #include <ESP8266WiFi.h>
-
12 #endif
-
13 #if defined ESP32
-
14  #include <WiFi.h>
-
15 #endif
-
16 
-
17 #include <WiFiUdp.h>
-
18 #include "SinricProQueue.h"
-
19 
-
20 #include "SinricProNamespace.h"
-
21 namespace SINRICPRO_NAMESPACE {
-
22 
-
23 class UdpListener {
-
24  public:
-
25  void begin(SinricProQueue_t* receiveQueue);
-
26  void handle();
-
27  void sendMessage(String &message);
-
28  void stop();
-
29 
-
30  private:
-
31  WiFiUDP _udp;
-
32  SinricProQueue_t* receiveQueue;
-
33 };
-
34 
-
35 void UdpListener::begin(SinricProQueue_t* receiveQueue) {
-
36  this->receiveQueue = receiveQueue;
-
37  #if defined ESP8266
-
38  _udp.beginMulticast(WiFi.localIP(), UDP_MULTICAST_IP, UDP_MULTICAST_PORT);
-
39  #endif
-
40  #if defined ESP32
-
41  _udp.beginMulticast(UDP_MULTICAST_IP, UDP_MULTICAST_PORT);
-
42  #endif
-
43 }
-
44 
-
45 void UdpListener::handle() {
-
46  int len = _udp.parsePacket();
-
47  if (!len) return;
-
48 
-
49  if (len) {
-
50  char* buf = (char*) malloc(len+1);
-
51  memset(buf, 0, len+1);
-
52  _udp.read(buf, len);
-
53  SinricProMessage* request = new SinricProMessage(IF_UDP, buf);
-
54  DEBUG_SINRIC("[SinricPro:UDP]: receiving request\r\n%s\r\n", buf);
-
55  free(buf);
-
56  receiveQueue->push(request);
-
57  }
-
58 }
-
59 
-
60 void UdpListener::sendMessage(String &message) {
-
61  _udp.beginPacket(_udp.remoteIP(), _udp.remotePort());
-
62  _udp.print(message);
-
63  _udp.endPacket();
-
64  // restart UDP??
-
65  #if defined ESP8266
-
66  _udp.beginMulticast(WiFi.localIP(), UDP_MULTICAST_IP, UDP_MULTICAST_PORT);
-
67  #endif
-
68  #if defined ESP32
-
69  _udp.beginMulticast(UDP_MULTICAST_IP, UDP_MULTICAST_PORT);
-
70  #endif
-
71 }
-
72 
-
73 void UdpListener::stop() {
-
74  _udp.stop();
-
75 }
-
76 
-
77 } // SINRICPRO_NAMESPACE
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#if defined ESP8266
+
11 #include <ESP8266WiFi.h>
+
12#endif
+
13#if defined ESP32
+
14 #include <WiFi.h>
+
15#endif
+
16
+
17#include <WiFiUdp.h>
+
18#include "SinricProQueue.h"
+
19#include "SinricProConfig.h"
+
20#include "SinricProDebug.h"
+
21
+
22#include "SinricProNamespace.h"
+
23namespace SINRICPRO_NAMESPACE {
+
24
+
25class UdpListener {
+
26 public:
+
27 void begin(SinricProQueue_t* receiveQueue);
+
28 void handle();
+
29 void sendMessage(String &message);
+
30 void stop();
+
31
+
32 private:
+
33 WiFiUDP _udp;
+
34 SinricProQueue_t* receiveQueue;
+
35};
+
36
+
37void UdpListener::begin(SinricProQueue_t* receiveQueue) {
+
38 this->receiveQueue = receiveQueue;
+
39 #if defined ESP8266
+
40 _udp.beginMulticast(WiFi.localIP(), UDP_MULTICAST_IP, UDP_MULTICAST_PORT);
+
41 #endif
+
42 #if defined ESP32
+
43 _udp.beginMulticast(UDP_MULTICAST_IP, UDP_MULTICAST_PORT);
+
44 #endif
+
45}
+
46
+
47void UdpListener::handle() {
+
48 int len = _udp.parsePacket();
+
49 if (!len) return;
+
50
+
51 if (len) {
+
52 char* buf = (char*) malloc(len+1);
+
53 memset(buf, 0, len+1);
+
54 _udp.read(buf, len);
+
55 SinricProMessage* request = new SinricProMessage(IF_UDP, buf);
+
56 DEBUG_SINRIC("[SinricPro:UDP]: receiving request\r\n%s\r\n", buf);
+
57 free(buf);
+
58 receiveQueue->push(request);
+
59 }
+
60}
+
61
+
62void UdpListener::sendMessage(String &message) {
+
63 _udp.beginPacket(_udp.remoteIP(), _udp.remotePort());
+
64 _udp.print(message);
+
65 _udp.endPacket();
+
66 // restart UDP??
+
67 #if defined ESP8266
+
68 _udp.beginMulticast(WiFi.localIP(), UDP_MULTICAST_IP, UDP_MULTICAST_PORT);
+
69 #endif
+
70 #if defined ESP32
+
71 _udp.beginMulticast(UDP_MULTICAST_IP, UDP_MULTICAST_PORT);
+
72 #endif
+
73}
+
74
+
75void UdpListener::stop() {
+
76 _udp.stop();
+
77}
+
78
+
79} // SINRICPRO_NAMESPACE
diff --git a/docs/_sinric_pro_version_8h_source.html b/docs/_sinric_pro_version_8h_source.html index c617c70..5782244 100644 --- a/docs/_sinric_pro_version_8h_source.html +++ b/docs/_sinric_pro_version_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProVersion.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProVersion.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,35 +81,41 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProVersion.h
+
SinricProVersion.h
-
1 #pragma once
-
2 
-
3 #define STR_HELPER(x) #x
-
4 #define STR(x) STR_HELPER(x)
-
5 
-
6 // Version Configuration
-
7 #define SINRICPRO_VERSION_MAJOR 2
-
8 #define SINRICPRO_VERSION_MINOR 9
-
9 #define SINRICPRO_VERSION_REVISION 17
-
10 #define SINRICPRO_VERSION STR(SINRICPRO_VERSION_MAJOR) "." STR(SINRICPRO_VERSION_MINOR) "." STR(SINRICPRO_VERSION_REVISION)
-
11 #define SINRICPRO_VERSION_STR "SinricPro (v" SINRICPRO_VERSION ")"
-
12 #define SINRICPRO_VERISON_INT SINRICPRO_VERSION_MAJOR * 1000000 + SINRICPRO_VERSION_MINOR * 1000 + SINRICPRO_VERSION_REVISION
+
1#pragma once
+
2
+
3#define STR_HELPER(x) #x
+
4#define STR(x) STR_HELPER(x)
+
5
+
6// Version Configuration
+
7#define SINRICPRO_VERSION_MAJOR 3
+
8#define SINRICPRO_VERSION_MINOR 0
+
9#define SINRICPRO_VERSION_REVISION 0
+
10#define SINRICPRO_VERSION STR(SINRICPRO_VERSION_MAJOR) "." STR(SINRICPRO_VERSION_MINOR) "." STR(SINRICPRO_VERSION_REVISION)
+
11#define SINRICPRO_VERSION_STR "SinricPro (v" SINRICPRO_VERSION ")"
+
12#define SINRICPRO_VERISON_INT SINRICPRO_VERSION_MAJOR * 1000000 + SINRICPRO_VERSION_MINOR * 1000 + SINRICPRO_VERSION_REVISION
diff --git a/docs/_sinric_pro_websocket_8h_source.html b/docs/_sinric_pro_websocket_8h_source.html index 4009177..21828b0 100644 --- a/docs/_sinric_pro_websocket_8h_source.html +++ b/docs/_sinric_pro_websocket_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProWebsocket.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProWebsocket.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,217 +81,223 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProWebsocket.h
+
SinricProWebsocket.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 
-
8 #pragma once
-
9 
-
10 #if defined ESP8266
-
11 #include <ESP8266WiFi.h>
-
12 #endif
-
13 #if defined ESP32
-
14 #include <WiFi.h>
-
15 #endif
-
16 
-
17 #include <ArduinoJson.h>
-
18 #include <WebSocketsClient.h>
-
19 
-
20 #include "SinricProConfig.h"
-
21 #include "SinricProDebug.h"
-
22 #include "SinricProInterface.h"
-
23 #include "SinricProNamespace.h"
-
24 #include "SinricProQueue.h"
-
25 namespace SINRICPRO_NAMESPACE {
-
26 
-
27 #if !defined(WEBSOCKETS_VERSION_INT) || (WEBSOCKETS_VERSION_INT < 2003005)
-
28 #error "Wrong WebSockets Version! Minimum Version is 2.3.5!!!"
-
29 #endif
-
30 
-
31 using wsConnectedCallback = std::function<void(void)>;
-
32 using wsDisconnectedCallback = std::function<void(void)>;
-
33 using wsPongCallback = std::function<void(uint32_t)>;
-
34 
-
35 class WebsocketListener : protected WebSocketsClient {
-
36  public:
-
37  WebsocketListener();
-
38  ~WebsocketListener();
-
39 
-
40  void begin(String server, String appKey, String deviceIds, SinricProQueue_t* receiveQueue);
-
41  void handle();
-
42  void stop();
-
43  void setRestoreDeviceStates(bool flag);
-
44 
-
45  void sendMessage(String& message);
-
46 
-
47  void onConnected(wsConnectedCallback callback);
-
48  void onDisconnected(wsDisconnectedCallback callback);
-
49  void onPong(wsPongCallback callback);
-
50 
-
51  using WebSocketsClient::disconnect;
-
52  using WebSocketsClient::isConnected;
-
53 
-
54  protected:
-
55  bool _begin;
-
56  bool restoreDeviceStates;
-
57 
-
58  wsConnectedCallback _wsConnectedCb;
-
59  wsDisconnectedCallback _wsDisconnectedCb;
-
60  wsPongCallback _wsPongCb;
-
61 
-
62  virtual void runCbEvent(WStype_t type, uint8_t* payload, size_t length) override;
-
63 
-
64  void setExtraHeaders();
-
65  SinricProQueue_t* receiveQueue;
-
66  String deviceIds;
-
67  String appKey;
-
68 };
-
69 
-
70 WebsocketListener::WebsocketListener()
-
71  : _begin(false)
-
72  , restoreDeviceStates(false)
-
73  , _wsConnectedCb(nullptr)
-
74  , _wsDisconnectedCb(nullptr)
-
75  , _wsPongCb(nullptr) {}
-
76 
-
77 WebsocketListener::~WebsocketListener() {
-
78  stop();
-
79 }
-
80 
-
81 void WebsocketListener::setExtraHeaders() {
-
82 #ifdef ESP8266
-
83  const char* platform = "ESP8266";
-
84 #endif
-
85 #ifdef ESP32
-
86  const char* platform = "ESP32";
-
87 #endif
-
88 
-
89  String headers = "appkey:" + appKey;
-
90  headers += "\r\ndeviceids:" + deviceIds;
-
91  headers += "\r\nrestoredevicestates:" + String(restoreDeviceStates ? "true" : "false");
-
92  headers += "\r\nip:" + WiFi.localIP().toString();
-
93  headers += "\r\nmac:" + WiFi.macAddress();
-
94  headers += "\r\nplatform:" + String(platform);
-
95  headers += "\r\nSDKVersion:" + String(SINRICPRO_VERSION);
-
96 
-
97 #ifdef FIRMWARE_VERSION
-
98  headers += "\r\nfirmwareVersion:" + String(FIRMWARE_VERSION);
-
99 #endif
-
100 
-
101  DEBUG_SINRIC("[SinricPro:Websocket]: headers: \r\n%s\r\n", headers.c_str());
-
102  WebSocketsClient::setExtraHeaders(headers.c_str());
-
103 }
-
104 
-
105 void WebsocketListener::begin(String server, String appKey, String deviceIds, SinricProQueue_t* receiveQueue) {
-
106  if (_begin) return;
-
107  _begin = true;
-
108 
-
109  this->receiveQueue = receiveQueue;
-
110  this->appKey = appKey;
-
111  this->deviceIds = deviceIds;
-
112 
-
113 #ifdef WEBSOCKET_SSL
-
114  DEBUG_SINRIC("[SinricPro:Websocket]: Connecting to WebSocket Server using SSL (%s)\r\n", server.c_str());
-
115 #else
-
116  DEBUG_SINRIC("[SinricPro:Websocket]: Connecting to WebSocket Server (%s)\r\n", server.c_str());
-
117 #endif
-
118 
-
119  if (isConnected()) stop();
-
120  setExtraHeaders();
-
121  enableHeartbeat(WEBSOCKET_PING_INTERVAL, WEBSOCKET_PING_TIMEOUT, WEBSOCKET_RETRY_COUNT);
-
122 #ifdef WEBSOCKET_SSL
-
123  WebSocketsClient::beginSSL(server.c_str(), SINRICPRO_SERVER_SSL_PORT, "/");
-
124 #else
-
125  WebSocketsClient::begin(server.c_str(), SINRICPRO_SERVER_PORT, "/"); // server address, port and URL
-
126 #endif
-
127 }
-
128 
-
129 void WebsocketListener::handle() {
-
130  loop();
-
131 }
-
132 
-
133 void WebsocketListener::stop() {
-
134  disconnect();
-
135  _begin = false;
-
136 }
-
137 
-
138 void WebsocketListener::setRestoreDeviceStates(bool flag) {
-
139  this->restoreDeviceStates = flag;
-
140 };
-
141 
-
142 void WebsocketListener::sendMessage(String& message) {
-
143  sendTXT(message);
-
144 }
-
145 
-
146 void WebsocketListener::onConnected(wsConnectedCallback callback) {
-
147  _wsConnectedCb = callback;
-
148 }
-
149 
-
150 void WebsocketListener::onDisconnected(wsDisconnectedCallback callback) {
-
151  _wsDisconnectedCb = callback;
-
152 }
-
153 
-
154 void WebsocketListener::onPong(wsPongCallback callback) {
-
155  _wsPongCb = callback;
-
156 }
-
157 
-
158 void WebsocketListener::runCbEvent(WStype_t type, uint8_t* payload, size_t length) {
-
159  (void)length;
-
160 
-
161  switch (type) {
-
162  case WStype_DISCONNECTED: {
-
163  DEBUG_SINRIC("[SinricPro:Websocket]: disconnected\r\n");
-
164  if (_wsDisconnectedCb) _wsDisconnectedCb();
-
165  }
-
166  break;
-
167 
-
168  case WStype_CONNECTED:
-
169  DEBUG_SINRIC("[SinricPro:Websocket]: connected\r\n");
-
170  if (_wsConnectedCb) _wsConnectedCb();
-
171  if (restoreDeviceStates) {
-
172  restoreDeviceStates = false;
-
173  setExtraHeaders();
-
174  }
-
175  break;
-
176 
-
177  case WStype_TEXT: {
-
178  SinricProMessage* request = new SinricProMessage(IF_WEBSOCKET, (char*)payload);
-
179  DEBUG_SINRIC("[SinricPro:Websocket]: receiving data\r\n");
-
180  receiveQueue->push(request);
-
181  break;
-
182  }
-
183 
-
184  case WStype_PONG: {
-
185  if (_wsPongCb) _wsPongCb(millis() - _client.lastPing);
-
186  break;
-
187  }
-
188 
-
189  default:
-
190  break;
-
191  }
-
192 }
-
193 
-
194 } // namespace SINRICPRO_NAMESPACE
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7
+
8#pragma once
+
9
+
10#if defined(ESP8266)
+
11 #include <ESP8266WiFi.h>
+
12#elif defined(ESP32) || defined(ARDUINO_ARCH_RP2040)
+
13 #include <WiFi.h>
+
14#endif
+
15
+
16#include <ArduinoJson.h>
+
17#include <WebSocketsClient.h>
+
18
+
19#include "SinricProConfig.h"
+
20#include "SinricProDebug.h"
+
21#include "SinricProInterface.h"
+
22#include "SinricProNamespace.h"
+
23#include "SinricProQueue.h"
+
24namespace SINRICPRO_NAMESPACE {
+
25
+
26#if !defined(WEBSOCKETS_VERSION_INT) || (WEBSOCKETS_VERSION_INT < 2003005)
+
27#error "Wrong WebSockets Version! Minimum Version is 2.3.5!!!"
+
28#endif
+
29
+
30using wsConnectedCallback = std::function<void(void)>;
+
31using wsDisconnectedCallback = std::function<void(void)>;
+
32using wsPongCallback = std::function<void(uint32_t)>;
+
33
+
34class WebsocketListener : protected WebSocketsClient {
+
35 public:
+
36 WebsocketListener();
+
37 ~WebsocketListener();
+
38
+
39 void begin(String server, String appKey, String deviceIds, SinricProQueue_t* receiveQueue);
+
40 void handle();
+
41 void stop();
+
42 void setRestoreDeviceStates(bool flag);
+
43
+
44 void sendMessage(String& message);
+
45
+
46 void onConnected(wsConnectedCallback callback);
+
47 void onDisconnected(wsDisconnectedCallback callback);
+
48 void onPong(wsPongCallback callback);
+
49
+
50 using WebSocketsClient::disconnect;
+
51 using WebSocketsClient::isConnected;
+
52
+
53 protected:
+
54 bool _begin;
+
55 bool restoreDeviceStates;
+
56
+
57 wsConnectedCallback _wsConnectedCb;
+
58 wsDisconnectedCallback _wsDisconnectedCb;
+
59 wsPongCallback _wsPongCb;
+
60
+
61 virtual void runCbEvent(WStype_t type, uint8_t* payload, size_t length) override;
+
62
+
63 void setExtraHeaders();
+
64 SinricProQueue_t* receiveQueue;
+
65 String deviceIds;
+
66 String appKey;
+
67};
+
68
+
69WebsocketListener::WebsocketListener()
+
70 : _begin(false)
+
71 , restoreDeviceStates(false)
+
72 , _wsConnectedCb(nullptr)
+
73 , _wsDisconnectedCb(nullptr)
+
74 , _wsPongCb(nullptr) {}
+
75
+
76WebsocketListener::~WebsocketListener() {
+
77 stop();
+
78}
+
79
+
80void WebsocketListener::setExtraHeaders() {
+
81#if defined(ESP8266)
+
82 const char* platform = "ESP8266";
+
83#elif defined(ESP32)
+
84 const char* platform = "ESP32";
+
85#elif defined(ARDUINO_ARCH_RP2040)
+
86 const char* platform = "RP2040";
+
87#endif
+
88
+
89 String headers = "appkey:" + appKey;
+
90 headers += "\r\ndeviceids:" + deviceIds;
+
91 headers += "\r\nrestoredevicestates:" + String(restoreDeviceStates ? "true" : "false");
+
92 headers += "\r\nip:" + WiFi.localIP().toString();
+
93 headers += "\r\nmac:" + WiFi.macAddress();
+
94 headers += "\r\nplatform:" + String(platform);
+
95 headers += "\r\nSDKVersion:" + String(SINRICPRO_VERSION);
+
96
+
97#ifdef FIRMWARE_VERSION
+
98 headers += "\r\nfirmwareVersion:" + String(FIRMWARE_VERSION);
+
99#endif
+
100
+
101 DEBUG_SINRIC("[SinricPro:Websocket]: headers: \r\n%s\r\n", headers.c_str());
+
102 WebSocketsClient::setExtraHeaders(headers.c_str());
+
103}
+
104
+
105void WebsocketListener::begin(String server, String appKey, String deviceIds, SinricProQueue_t* receiveQueue) {
+
106 if (_begin) return;
+
107 _begin = true;
+
108
+
109 this->receiveQueue = receiveQueue;
+
110 this->appKey = appKey;
+
111 this->deviceIds = deviceIds;
+
112
+
113#ifdef WEBSOCKET_SSL
+
114 DEBUG_SINRIC("[SinricPro:Websocket]: Connecting to WebSocket Server using SSL (%s)\r\n", server.c_str());
+
115#else
+
116 DEBUG_SINRIC("[SinricPro:Websocket]: Connecting to WebSocket Server (%s)\r\n", server.c_str());
+
117#endif
+
118
+
119 if (isConnected()) stop();
+
120 setExtraHeaders();
+
121 enableHeartbeat(WEBSOCKET_PING_INTERVAL, WEBSOCKET_PING_TIMEOUT, WEBSOCKET_RETRY_COUNT);
+
122#ifdef WEBSOCKET_SSL
+
123 WebSocketsClient::beginSSL(server.c_str(), SINRICPRO_SERVER_SSL_PORT, "/");
+
124#else
+
125 WebSocketsClient::begin(server.c_str(), SINRICPRO_SERVER_PORT, "/"); // server address, port and URL
+
126#endif
+
127}
+
128
+
129void WebsocketListener::handle() {
+
130 loop();
+
131}
+
132
+
133void WebsocketListener::stop() {
+
134 disconnect();
+
135 _begin = false;
+
136}
+
137
+
138void WebsocketListener::setRestoreDeviceStates(bool flag) {
+
139 this->restoreDeviceStates = flag;
+
140};
+
141
+
142void WebsocketListener::sendMessage(String& message) {
+
143 sendTXT(message);
+
144}
+
145
+
146void WebsocketListener::onConnected(wsConnectedCallback callback) {
+
147 _wsConnectedCb = callback;
+
148}
+
149
+
150void WebsocketListener::onDisconnected(wsDisconnectedCallback callback) {
+
151 _wsDisconnectedCb = callback;
+
152}
+
153
+
154void WebsocketListener::onPong(wsPongCallback callback) {
+
155 _wsPongCb = callback;
+
156}
+
157
+
158void WebsocketListener::runCbEvent(WStype_t type, uint8_t* payload, size_t length) {
+
159 (void)length;
+
160
+
161 switch (type) {
+
162 case WStype_DISCONNECTED: {
+
163 DEBUG_SINRIC("[SinricPro:Websocket]: disconnected\r\n");
+
164 if (_wsDisconnectedCb) _wsDisconnectedCb();
+
165 }
+
166 break;
+
167
+
168 case WStype_CONNECTED:
+
169 DEBUG_SINRIC("[SinricPro:Websocket]: connected\r\n");
+
170 if (_wsConnectedCb) _wsConnectedCb();
+
171 if (restoreDeviceStates) {
+
172 restoreDeviceStates = false;
+
173 setExtraHeaders();
+
174 }
+
175 break;
+
176
+
177 case WStype_TEXT: {
+
178 SinricProMessage* request = new SinricProMessage(IF_WEBSOCKET, (char*)payload);
+
179 DEBUG_SINRIC("[SinricPro:Websocket]: receiving data\r\n");
+
180 receiveQueue->push(request);
+
181 break;
+
182 }
+
183
+
184 case WStype_PONG: {
+
185 if (_wsPongCb) _wsPongCb(millis() - _client.lastPing);
+
186 break;
+
187 }
+
188
+
189 default:
+
190 break;
+
191 }
+
192}
+
193
+
194} // namespace SINRICPRO_NAMESPACE
diff --git a/docs/_sinric_pro_window_a_c_8h_source.html b/docs/_sinric_pro_window_a_c_8h_source.html index 839acfe..8c46eba 100644 --- a/docs/_sinric_pro_window_a_c_8h_source.html +++ b/docs/_sinric_pro_window_a_c_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/SinricProWindowAC.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/SinricProWindowAC.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,65 +81,73 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SinricProWindowAC.h
+
SinricProWindowAC.h
-
1 /*
-
2  * Copyright (c) 2019 Sinric. All rights reserved.
-
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
-
4  *
-
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
-
6  */
-
7 #pragma once
-
8 
-
9 #include "SinricProDevice.h"
-
10 #include "Capabilities/SettingController.h"
-
11 #include "Capabilities/PushNotification.h"
-
12 #include "Capabilities/PowerStateController.h"
-
13 #include "Capabilities/RangeController.h"
-
14 #include "Capabilities/ThermostatController.h"
-
15 
-
16 #include "SinricProNamespace.h"
-
17 namespace SINRICPRO_NAMESPACE {
-
18 
- -
33  public SettingController<SinricProWindowAC>,
-
34  public PushNotification<SinricProWindowAC>,
-
35  public PowerStateController<SinricProWindowAC>,
-
36  public RangeController<SinricProWindowAC>,
-
37  public ThermostatController<SinricProWindowAC> {
-
38  friend class SettingController<SinricProWindowAC>;
-
39  friend class PushNotification<SinricProWindowAC>;
- -
41  friend class RangeController<SinricProWindowAC>;
- -
43  public:
-
44  SinricProWindowAC(const String &deviceId) : SinricProDevice(deviceId, "AC_UNIT") {}
-
45 };
-
46 
-
47 } // SINRICPRO_NAMESPACE
-
48 
-
49 using SinricProWindowAC = SINRICPRO_NAMESPACE::SinricProWindowAC;
-
PowerStateController.
Definition: PowerStateController.h:36
-
PushNotification.
Definition: PushNotification.h:17
-
RangeControllerFloatInt.
Definition: RangeController.h:109
-
Base class for all device types.
Definition: SinricProDevice.h:24
-
Device to control Window Air Conditioner.
Definition: SinricProWindowAC.h:37
-
ThermostatController.
Definition: ThermostatController.h:70
+
1/*
+
2 * Copyright (c) 2019 Sinric. All rights reserved.
+
3 * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
+
4 *
+
5 * This file is part of the Sinric Pro (https://github.com/sinricpro/)
+
6 */
+
7#pragma once
+
8
+
9#include "SinricProDevice.h"
+
10#include "Capabilities/SettingController.h"
+
11#include "Capabilities/PushNotification.h"
+
12#include "Capabilities/PowerStateController.h"
+
13#include "Capabilities/RangeController.h"
+
14#include "Capabilities/ThermostatController.h"
+
15
+
16#include "SinricProNamespace.h"
+
17namespace SINRICPRO_NAMESPACE {
+
18
+
+ +
33 public SettingController<SinricProWindowAC>,
+
34 public PushNotification<SinricProWindowAC>,
+
35 public PowerStateController<SinricProWindowAC>,
+
36 public RangeController<SinricProWindowAC>,
+
37 public ThermostatController<SinricProWindowAC> {
+
38 friend class SettingController<SinricProWindowAC>;
+ + + + +
43 public:
+
44 SinricProWindowAC(const String &deviceId) : SinricProDevice(deviceId, "AC_UNIT") {}
+
45};
+
+
46
+
47} // SINRICPRO_NAMESPACE
+
48
+
49using SinricProWindowAC = SINRICPRO_NAMESPACE::SinricProWindowAC;
+
PowerStateController.
Definition PowerStateController.h:36
+
PushNotification.
Definition PushNotification.h:17
+
RangeControllerFloatInt.
Definition RangeController.h:109
+
Base class for all device types.
Definition SinricProDevice.h:24
+
Device to control Window Air Conditioner.
Definition SinricProWindowAC.h:37
+
ThermostatController.
Definition ThermostatController.h:70
diff --git a/docs/_temperature_sensor_8h_source.html b/docs/_temperature_sensor_8h_source.html index edd0031..d009592 100644 --- a/docs/_temperature_sensor_8h_source.html +++ b/docs/_temperature_sensor_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/TemperatureSensor.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/TemperatureSensor.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,66 +81,79 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
TemperatureSensor.h
+
TemperatureSensor.h
-
1 #pragma once
-
2 
-
3 #include "../EventLimiter.h"
-
4 #include "../SinricProStrings.h"
-
5 
-
6 #include "../SinricProNamespace.h"
-
7 namespace SINRICPRO_NAMESPACE {
-
8 
-
9 FSTR(TEMPERATURE, currentTemperature); // "currentTemperature"
-
10 FSTR(TEMPERATURE, humidity); // "humidity"
-
11 FSTR(TEMPERATURE, temperature); // "temperature"
-
12 
-
17 template <typename T>
- -
19  public:
- -
21  bool sendTemperatureEvent(float temperature, float humidity = -1, String cause = FSTR_SINRICPRO_PERIODIC_POLL);
-
22  private:
-
23  EventLimiter event_limiter;
-
24 };
-
25 
-
26 template <typename T>
- -
28 : event_limiter(EVENT_LIMIT_SENSOR_VALUE) {}
-
29 
-
40 template <typename T>
-
41 bool TemperatureSensor<T>::sendTemperatureEvent(float temperature, float humidity, String cause) {
-
42  if (event_limiter) return false;
-
43  T* device = static_cast<T*>(this);
-
44 
-
45  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_TEMPERATURE_currentTemperature, cause.c_str());
-
46  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
47  event_value[FSTR_TEMPERATURE_humidity] = roundf(humidity * 100) / 100.0;
-
48  event_value[FSTR_TEMPERATURE_temperature] = roundf(temperature * 10) / 10.0;
-
49  return device->sendEvent(eventMessage);
-
50 }
-
51 
-
52 } // SINRICPRO_NAMESPACE
-
53 
-
54 template <typename T>
-
55 using TemperatureSensor = SINRICPRO_NAMESPACE::TemperatureSensor<T>;
-
TemperatureSensor.
Definition: TemperatureSensor.h:18
-
bool sendTemperatureEvent(float temperature, float humidity=-1, String cause=FSTR_SINRICPRO_PERIODIC_POLL)
Send currentTemperature event to report actual temperature (measured by a sensor)
Definition: TemperatureSensor.h:41
+
1#pragma once
+
2
+
3#include "../EventLimiter.h"
+
4#include "../SinricProStrings.h"
+
5
+
6#include "../SinricProNamespace.h"
+
7namespace SINRICPRO_NAMESPACE {
+
8
+
9FSTR(TEMPERATURE, currentTemperature); // "currentTemperature"
+
10FSTR(TEMPERATURE, humidity); // "humidity"
+
11FSTR(TEMPERATURE, temperature); // "temperature"
+
12
+
17template <typename T>
+
+ +
19 public:
+ +
+ +
22 private:
+
23 EventLimiter event_limiter;
+
24};
+
25
+
26template <typename T>
+ +
28: event_limiter(EVENT_LIMIT_SENSOR_VALUE) {}
+
29
+
40template <typename T>
+
+ +
42 if (event_limiter) return false;
+
43 T* device = static_cast<T*>(this);
+
44
+ + + + +
49 return device->sendEvent(eventMessage);
+
50}
+
+
+
51
+
52} // SINRICPRO_NAMESPACE
+
53
+
54template <typename T>
+
55using TemperatureSensor = SINRICPRO_NAMESPACE::TemperatureSensor<T>;
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
TemperatureSensor.
Definition TemperatureSensor.h:18
+
bool sendTemperatureEvent(float temperature, float humidity=-1, String cause=FSTR_SINRICPRO_PERIODIC_POLL)
Send currentTemperature event to report actual temperature (measured by a sensor)
Definition TemperatureSensor.h:41
diff --git a/docs/_thermostat_controller_8h_source.html b/docs/_thermostat_controller_8h_source.html index e6f5c22..bf60792 100644 --- a/docs/_thermostat_controller_8h_source.html +++ b/docs/_thermostat_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/ThermostatController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/ThermostatController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,161 +81,190 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
ThermostatController.h
+
ThermostatController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../EventLimiter.h"
-
5 #include "../SinricProStrings.h"
-
6 
-
7 #include "../SinricProNamespace.h"
-
8 namespace SINRICPRO_NAMESPACE {
-
9 
-
10 FSTR(THERMOSTAT, setThermostatMode); // "setThermostatMode"
-
11 FSTR(THERMOSTAT, thermostatMode); // "thermostatMode"
-
12 FSTR(THERMOSTAT, targetTemperature); // "targetTemperature"
-
13 FSTR(THERMOSTAT, temperature); // "temperature"
-
14 FSTR(THERMOSTAT, adjustTargetTemperature); // "adjustTargetTemperature"
-
15 
-
30 using ThermostatModeCallback = std::function<bool(const String &, String &)>;
-
31 
-
46 using SetTargetTemperatureCallback = std::function<bool(const String &, float &)>;
-
47 
-
62 using AdjustTargetTemperatureCallback = std::function<bool(const String &, float &)>;
-
63 
-
64 
-
69 template <typename T>
- -
71  public:
- -
73 
- - - -
77 
-
78  bool sendThermostatModeEvent(String thermostatMode, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
79  bool sendTargetTemperatureEvent(float temperature, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
80 
-
81  protected:
-
82  bool handleThermostatController(SinricProRequest &request);
-
83 
-
84  private:
-
85  EventLimiter event_limiter_thermostatMode;
-
86  EventLimiter event_limiter_targetTemperature;
-
87  ThermostatModeCallback thermostatModeCallback;
-
88  SetTargetTemperatureCallback targetTemperatureCallback;
-
89  AdjustTargetTemperatureCallback adjustTargetTemperatureCallback;
-
90 };
-
91 
-
92 template <typename T>
- -
94 : event_limiter_thermostatMode(EVENT_LIMIT_STATE)
-
95 , event_limiter_targetTemperature(EVENT_LIMIT_STATE) {
-
96  T* device = static_cast<T*>(this);
-
97  device->registerRequestHandler(std::bind(&ThermostatController<T>::handleThermostatController, this, std::placeholders::_1));
-
98 }
-
99 
-
107 template <typename T>
- -
109  thermostatModeCallback = cb;
-
110 }
-
111 
-
119 template <typename T>
- -
121  targetTemperatureCallback = cb;
-
122 }
-
123 
-
131 template <typename T>
- -
133  adjustTargetTemperatureCallback = cb;
-
134 }
-
135 
-
145 template <typename T>
-
146 bool ThermostatController<T>::sendThermostatModeEvent(String thermostatMode, String cause) {
-
147  if (event_limiter_thermostatMode) return false;
-
148  T* device = static_cast<T*>(this);
-
149 
-
150  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_THERMOSTAT_setThermostatMode, cause.c_str());
-
151  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
152  event_value[FSTR_THERMOSTAT_thermostatMode] = thermostatMode;
-
153  return device->sendEvent(eventMessage);
-
154 }
-
155 
-
165 template <typename T>
-
166 bool ThermostatController<T>::sendTargetTemperatureEvent(float temperature, String cause) {
-
167  if (event_limiter_targetTemperature) return false;
-
168  T* device = static_cast<T*>(this);
-
169 
-
170  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_THERMOSTAT_targetTemperature, cause.c_str());
-
171  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
172  event_value[FSTR_THERMOSTAT_temperature] = roundf(temperature * 10) / 10.0;
-
173  return device->sendEvent(eventMessage);
-
174 }
-
175 
-
176 template <typename T>
-
177 bool ThermostatController<T>::handleThermostatController(SinricProRequest &request) {
-
178  T* device = static_cast<T*>(this);
-
179 
-
180  bool success = false;
-
181 
-
182  if (request.action == FSTR_THERMOSTAT_targetTemperature && targetTemperatureCallback) {
-
183  float temperature;
-
184  if (request.request_value.containsKey(FSTR_THERMOSTAT_temperature)) {
-
185  temperature = request.request_value[FSTR_THERMOSTAT_temperature];
-
186  } else {
-
187  temperature = 1;
-
188  }
-
189  success = targetTemperatureCallback(device->deviceId, temperature);
-
190  request.response_value[FSTR_THERMOSTAT_temperature] = temperature;
-
191  return success;
-
192  }
-
193 
-
194  if (request.action == FSTR_THERMOSTAT_adjustTargetTemperature && adjustTargetTemperatureCallback) {
-
195  float temperatureDelta = request.request_value[FSTR_THERMOSTAT_temperature];
-
196  success = adjustTargetTemperatureCallback(device->deviceId, temperatureDelta);
-
197  request.response_value[FSTR_THERMOSTAT_temperature] = temperatureDelta;
-
198  return success;
-
199  }
-
200 
-
201  if (request.action == FSTR_THERMOSTAT_setThermostatMode && thermostatModeCallback) {
-
202  String thermostatMode = request.request_value[FSTR_THERMOSTAT_thermostatMode] | "";
-
203  success = thermostatModeCallback(device->deviceId, thermostatMode);
-
204  request.response_value[FSTR_THERMOSTAT_thermostatMode] = thermostatMode;
-
205  return success;
-
206  }
-
207 
-
208  return success;
-
209 }
-
210 
-
211 } // SINRICPRO_NAMESPACE
-
212 
-
213 template <typename T>
-
214 using ThermostatController = SINRICPRO_NAMESPACE::ThermostatController<T>;
-
ThermostatController.
Definition: ThermostatController.h:70
-
void onTargetTemperature(SetTargetTemperatureCallback cb)
Set callback function for targetTemperature request.
Definition: ThermostatController.h:120
-
void onThermostatMode(ThermostatModeCallback cb)
Set callback function for setThermostatMode request.
Definition: ThermostatController.h:108
-
bool sendTargetTemperatureEvent(float temperature, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send targetTemperature event to report target temperature change.
Definition: ThermostatController.h:166
-
void onAdjustTargetTemperature(AdjustTargetTemperatureCallback cb)
Set callback function for adjustTargetTemperature request.
Definition: ThermostatController.h:132
-
bool sendThermostatModeEvent(String thermostatMode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send thermostatMode event to report a the new mode the device has been set to.
Definition: ThermostatController.h:146
-
std::function< bool(const String &, float &)> SetTargetTemperatureCallback
Callback definition for onTargetTemperature function.
Definition: ThermostatController.h:46
-
std::function< bool(const String &, String &)> ThermostatModeCallback
Callback definition for onThermostatMode function.
Definition: ThermostatController.h:30
-
std::function< bool(const String &, float &)> AdjustTargetTemperatureCallback
Callback definition for onAdjustTargetTemperature function.
Definition: ThermostatController.h:62
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../EventLimiter.h"
+
5#include "../SinricProStrings.h"
+
6
+
7#include "../SinricProNamespace.h"
+
8namespace SINRICPRO_NAMESPACE {
+
9
+
10FSTR(THERMOSTAT, setThermostatMode); // "setThermostatMode"
+
11FSTR(THERMOSTAT, thermostatMode); // "thermostatMode"
+
12FSTR(THERMOSTAT, targetTemperature); // "targetTemperature"
+
13FSTR(THERMOSTAT, temperature); // "temperature"
+
14FSTR(THERMOSTAT, adjustTargetTemperature); // "adjustTargetTemperature"
+
15
+
30using ThermostatModeCallback = std::function<bool(const String &, String &)>;
+
31
+
46using SetTargetTemperatureCallback = std::function<bool(const String &, float &)>;
+
47
+
62using AdjustTargetTemperatureCallback = std::function<bool(const String &, float &)>;
+
63
+
64
+
69template <typename T>
+
+ +
71 public:
+ +
73
+
+ +
+ +
+ +
77
+
+ +
+ +
80
+
81 protected:
+
82 bool handleThermostatController(SinricProRequest &request);
+
83
+
84 private:
+
85 EventLimiter event_limiter_thermostatMode;
+
86 EventLimiter event_limiter_targetTemperature;
+
87 ThermostatModeCallback thermostatModeCallback;
+
88 SetTargetTemperatureCallback targetTemperatureCallback;
+
89 AdjustTargetTemperatureCallback adjustTargetTemperatureCallback;
+
90};
+
91
+
92template <typename T>
+ +
94: event_limiter_thermostatMode(EVENT_LIMIT_STATE)
+
95, event_limiter_targetTemperature(EVENT_LIMIT_STATE) {
+
96 T* device = static_cast<T*>(this);
+
97 device->registerRequestHandler(std::bind(&ThermostatController<T>::handleThermostatController, this, std::placeholders::_1));
+
98}
+
99
+
107template <typename T>
+
+ +
109 thermostatModeCallback = cb;
+
110}
+
+
111
+
119template <typename T>
+
+ +
121 targetTemperatureCallback = cb;
+
122}
+
+
123
+
131template <typename T>
+
+ +
133 adjustTargetTemperatureCallback = cb;
+
134}
+
+
135
+
145template <typename T>
+
+ +
147 if (event_limiter_thermostatMode) return false;
+
148 T* device = static_cast<T*>(this);
+
149
+ + + +
153 return device->sendEvent(eventMessage);
+
154}
+
+
155
+
165template <typename T>
+
+ +
167 if (event_limiter_targetTemperature) return false;
+
168 T* device = static_cast<T*>(this);
+
169
+ + + +
173 return device->sendEvent(eventMessage);
+
174}
+
+
+
175
+
176template <typename T>
+ +
178 T* device = static_cast<T*>(this);
+
179
+
180 bool success = false;
+
181
+
182 if (request.action == FSTR_THERMOSTAT_targetTemperature && targetTemperatureCallback) {
+
183 float temperature;
+
184 if (request.request_value.containsKey(FSTR_THERMOSTAT_temperature)) {
+ +
186 } else {
+
187 temperature = 1;
+
188 }
+
189 success = targetTemperatureCallback(device->deviceId, temperature);
+
190 request.response_value[FSTR_THERMOSTAT_temperature] = temperature;
+
191 return success;
+
192 }
+
193
+
194 if (request.action == FSTR_THERMOSTAT_adjustTargetTemperature && adjustTargetTemperatureCallback) {
+
195 float temperatureDelta = request.request_value[FSTR_THERMOSTAT_temperature];
+
196 success = adjustTargetTemperatureCallback(device->deviceId, temperatureDelta);
+
197 request.response_value[FSTR_THERMOSTAT_temperature] = temperatureDelta;
+
198 return success;
+
199 }
+
200
+
201 if (request.action == FSTR_THERMOSTAT_setThermostatMode && thermostatModeCallback) {
+
202 String thermostatMode = request.request_value[FSTR_THERMOSTAT_thermostatMode] | "";
+
203 success = thermostatModeCallback(device->deviceId, thermostatMode);
+
204 request.response_value[FSTR_THERMOSTAT_thermostatMode] = thermostatMode;
+
205 return success;
+
206 }
+
207
+
208 return success;
+
209}
+
210
+
211} // SINRICPRO_NAMESPACE
+
212
+
213template <typename T>
+
214using ThermostatController = SINRICPRO_NAMESPACE::ThermostatController<T>;
+
+
+
+
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
ThermostatController.
Definition ThermostatController.h:70
+
void onTargetTemperature(SetTargetTemperatureCallback cb)
Set callback function for targetTemperature request.
Definition ThermostatController.h:120
+
void onThermostatMode(ThermostatModeCallback cb)
Set callback function for setThermostatMode request.
Definition ThermostatController.h:108
+
bool sendTargetTemperatureEvent(float temperature, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send targetTemperature event to report target temperature change.
Definition ThermostatController.h:166
+
void onAdjustTargetTemperature(AdjustTargetTemperatureCallback cb)
Set callback function for adjustTargetTemperature request.
Definition ThermostatController.h:132
+
bool sendThermostatModeEvent(String thermostatMode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send thermostatMode event to report a the new mode the device has been set to.
Definition ThermostatController.h:146
+
std::function< bool(const String &, float &)> SetTargetTemperatureCallback
Callback definition for onTargetTemperature function.
Definition ThermostatController.h:46
+
std::function< bool(const String &, String &)> ThermostatModeCallback
Callback definition for onThermostatMode function.
Definition ThermostatController.h:30
+
std::function< bool(const String &, float &)> AdjustTargetTemperatureCallback
Callback definition for onAdjustTargetTemperature function.
Definition ThermostatController.h:62
diff --git a/docs/_timestamp_8h_source.html b/docs/_timestamp_8h_source.html new file mode 100644 index 0000000..3a1f97c --- /dev/null +++ b/docs/_timestamp_8h_source.html @@ -0,0 +1,126 @@ + + + + + + + +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Timestamp.h Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Timestamp.h
+
+
+
1#pragma once
+
2
+
3#include <Arduino.h>
+
4
+
5class Timestamp {
+
6 public:
+
7 uint32_t getTimestamp();
+
8 void setTimestamp(uint32_t);
+
9
+
10 protected:
+
11 void update();
+
12
+
13 protected:
+
14 uint64_t timestamp_ms = 0;
+
15 uint32_t last_update = 0;
+
16};
+
+
+ + + + diff --git a/docs/_toggle_controller_8h_source.html b/docs/_toggle_controller_8h_source.html index ded0443..35264e5 100644 --- a/docs/_toggle_controller_8h_source.html +++ b/docs/_toggle_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/ToggleController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/ToggleController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,103 +81,116 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
ToggleController.h
+
ToggleController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../EventLimiter.h"
-
5 #include "../SinricProStrings.h"
-
6 
-
7 #include "../SinricProNamespace.h"
-
8 namespace SINRICPRO_NAMESPACE {
-
9 
-
10 FSTR(TOGGLE, setToggleState); // "setToggleState"
-
11 FSTR(TOGGLE, state); // "state"
-
12 FSTR(TOGGLE, On); // "On"
-
13 FSTR(TOGGLE, Off); // "Off"
-
14 
-
29 using GenericToggleStateCallback = std::function<bool(const String &, const String&, bool &)>;
-
30 
-
31 
-
36 template <typename T>
- -
38  public:
- -
40 
-
41  void onToggleState(const String& instance, GenericToggleStateCallback cb);
-
42  bool sendToggleStateEvent(const String &instance, bool state, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
43 
-
44  protected:
-
45  bool handleToggleController(SinricProRequest &request);
-
46 
-
47  private:
-
48  std::map<String, EventLimiter> event_limiter;
-
49  std::map<String, GenericToggleStateCallback> genericToggleStateCallback;
-
50 };
-
51 
-
52 template <typename T>
- -
54  T* device = static_cast<T*>(this);
-
55  device->registerRequestHandler(std::bind(&ToggleController<T>::handleToggleController, this, std::placeholders::_1));
-
56 }
-
57 
-
66 template <typename T>
- -
68  genericToggleStateCallback[instance] = cb;
-
69 }
-
70 
-
81 template <typename T>
-
82 bool ToggleController<T>::sendToggleStateEvent(const String &instance, bool state, String cause) {
-
83  if (event_limiter.find(instance) == event_limiter.end()) event_limiter[instance] = EventLimiter(EVENT_LIMIT_STATE);
-
84  if (event_limiter[instance]) return false;
-
85 
-
86  T* device = static_cast<T*>(this);
-
87 
-
88  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_TOGGLE_setToggleState, cause.c_str());
-
89  eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_instanceId] = instance;
-
90  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
91  event_value[FSTR_TOGGLE_state] = state ? FSTR_TOGGLE_On : FSTR_TOGGLE_Off;
-
92  return device->sendEvent(eventMessage);
-
93 }
-
94 
-
95 template <typename T>
-
96 bool ToggleController<T>::handleToggleController(SinricProRequest &request) {
-
97  T* device = static_cast<T*>(this);
-
98 
-
99  bool success = false;
-
100 
-
101  if (request.action == FSTR_TOGGLE_setToggleState) {
-
102  bool powerState = request.request_value[FSTR_TOGGLE_state] == FSTR_TOGGLE_On ? true : false;
-
103  if (genericToggleStateCallback.find(request.instance) != genericToggleStateCallback.end())
-
104  success = genericToggleStateCallback[request.instance](device->deviceId, request.instance, powerState);
-
105  request.response_value[FSTR_TOGGLE_state] = powerState ? FSTR_TOGGLE_On : FSTR_TOGGLE_Off;
-
106  return success;
-
107  }
-
108  return success;
-
109 }
-
110 
-
111 } // SINRICPRO_NAMESPACE
-
112 
-
113 template <typename T>
-
114 using ToggleController = SINRICPRO_NAMESPACE::ToggleController<T>;
-
ToggleController.
Definition: ToggleController.h:37
-
std::function< bool(const String &, const String &, bool &)> GenericToggleStateCallback
Callback definition for onToggleState function.
Definition: ToggleController.h:29
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../EventLimiter.h"
+
5#include "../SinricProStrings.h"
+
6
+
7#include "../SinricProNamespace.h"
+
8namespace SINRICPRO_NAMESPACE {
+
9
+
10FSTR(TOGGLE, setToggleState); // "setToggleState"
+
11FSTR(TOGGLE, state); // "state"
+
12FSTR(TOGGLE, On); // "On"
+
13FSTR(TOGGLE, Off); // "Off"
+
14
+
29using GenericToggleStateCallback = std::function<bool(const String &, const String&, bool &)>;
+
30
+
31
+
36template <typename T>
+
+ +
38 public:
+ +
40
+
41 void onToggleState(const String& instance, GenericToggleStateCallback cb);
+
42 bool sendToggleStateEvent(const String &instance, bool state, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
+
43
+
44 protected:
+
45 bool handleToggleController(SinricProRequest &request);
+
46
+
47 private:
+
48 std::map<String, EventLimiter> event_limiter;
+
49 std::map<String, GenericToggleStateCallback> genericToggleStateCallback;
+
50};
+
+
51
+
52template <typename T>
+ +
54 T* device = static_cast<T*>(this);
+
55 device->registerRequestHandler(std::bind(&ToggleController<T>::handleToggleController, this, std::placeholders::_1));
+
56}
+
57
+
66template <typename T>
+
+ +
68 genericToggleStateCallback[instance] = cb;
+
69}
+
+
70
+
81template <typename T>
+
+
82bool ToggleController<T>::sendToggleStateEvent(const String &instance, bool state, String cause) {
+
83 if (event_limiter.find(instance) == event_limiter.end()) event_limiter[instance] = EventLimiter(EVENT_LIMIT_STATE);
+
84 if (event_limiter[instance]) return false;
+
85
+
86 T* device = static_cast<T*>(this);
+
87
+ + + + +
92 return device->sendEvent(eventMessage);
+
93}
+
+
94
+
95template <typename T>
+ +
97 T* device = static_cast<T*>(this);
+
98
+
99 bool success = false;
+
100
+
101 if (request.action == FSTR_TOGGLE_setToggleState) {
+
102 bool powerState = request.request_value[FSTR_TOGGLE_state] == FSTR_TOGGLE_On ? true : false;
+
103 if (genericToggleStateCallback.find(request.instance) != genericToggleStateCallback.end())
+
104 success = genericToggleStateCallback[request.instance](device->deviceId, request.instance, powerState);
+ +
106 return success;
+
107 }
+
108 return success;
+
109}
+
110
+
111} // SINRICPRO_NAMESPACE
+
112
+
113template <typename T>
+
114using ToggleController = SINRICPRO_NAMESPACE::ToggleController<T>;
+
AirQuality.
Definition AirQualitySensor.h:19
+
ToggleController.
Definition ToggleController.h:37
+
std::function< bool(const String &, const String &, bool &)> GenericToggleStateCallback
Callback definition for onToggleState function.
Definition ToggleController.h:29
diff --git a/docs/_volume_controller_8h_source.html b/docs/_volume_controller_8h_source.html index 42608d6..1f88447 100644 --- a/docs/_volume_controller_8h_source.html +++ b/docs/_volume_controller_8h_source.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities/VolumeController.h Source File +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities/VolumeController.h Source File @@ -23,8 +23,8 @@
- - + @@ -33,22 +33,28 @@
+
SinricPro Library
- + +/* @license-end */ + +
@@ -75,118 +81,135 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
VolumeController.h
+
VolumeController.h
-
1 #pragma once
-
2 
-
3 #include "../SinricProRequest.h"
-
4 #include "../EventLimiter.h"
-
5 #include "../SinricProStrings.h"
-
6 
-
7 #include "../SinricProNamespace.h"
-
8 namespace SINRICPRO_NAMESPACE {
-
9 
-
10 FSTR(VOLUME, setVolume); // "setVolume"
-
11 FSTR(VOLUME, volume); // "volume"
-
12 FSTR(VOLUME, adjustVolume); // "adjustVolume"
-
13 FSTR(VOLUME, volumeDefault); // "volumeDefault"
-
14 
-
29 using SetVolumeCallback = std::function<bool(const String &, int &)>;
-
30 
-
46 using AdjustVolumeCallback = std::function<bool(const String &, int &, bool)>;
-
47 
-
48 
-
53 template <typename T>
- -
55  public:
- -
57 
- - -
60 
-
61  bool sendVolumeEvent(int volume, String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION);
-
62 
-
63  protected:
-
64  bool handleVolumeController(SinricProRequest &request);
-
65 
-
66  private:
-
67  EventLimiter event_limiter;
-
68  SetVolumeCallback volumeCallback;
-
69  AdjustVolumeCallback adjustVolumeCallback;
-
70 };
-
71 
-
72 template <typename T>
- -
74 : event_limiter(EVENT_LIMIT_STATE) {
-
75  T* device = static_cast<T*>(this);
-
76  device->registerRequestHandler(std::bind(&VolumeController<T>::handleVolumeController, this, std::placeholders::_1));
-
77 }
-
78 
-
86 template <typename T>
-
87 void VolumeController<T>::onSetVolume(SetVolumeCallback cb) { volumeCallback = cb; }
-
88 
-
96 template <typename T>
-
97 void VolumeController<T>::onAdjustVolume(AdjustVolumeCallback cb) { adjustVolumeCallback = cb; }
-
98 
-
108 template <typename T>
-
109 bool VolumeController<T>::sendVolumeEvent(int volume, String cause) {
-
110  if (event_limiter) return false;
-
111  T* device = static_cast<T*>(this);
-
112 
-
113  DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_VOLUME_setVolume, cause.c_str());
-
114  JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value];
-
115  event_value[FSTR_VOLUME_volume] = volume;
-
116  return device->sendEvent(eventMessage);
-
117 }
-
118 
-
119 template <typename T>
-
120 bool VolumeController<T>::handleVolumeController(SinricProRequest &request) {
-
121  T* device = static_cast<T*>(this);
-
122 
-
123  bool success = false;
-
124 
-
125  if (volumeCallback && request.action == FSTR_VOLUME_setVolume) {
-
126  int volume = request.request_value[FSTR_VOLUME_volume];
-
127  success = volumeCallback(device->deviceId, volume);
-
128  request.response_value[FSTR_VOLUME_volume] = volume;
-
129  return success;
-
130  }
-
131 
-
132  if (adjustVolumeCallback && request.action == FSTR_VOLUME_adjustVolume) {
-
133  int volume = request.request_value[FSTR_VOLUME_volume];
-
134  bool volumeDefault = request.request_value[FSTR_VOLUME_volumeDefault] | false;
-
135  success = adjustVolumeCallback(device->deviceId, volume, volumeDefault);
-
136  request.response_value[FSTR_VOLUME_volume] = volume;
-
137  return success;
-
138  }
-
139  return success;
-
140 }
-
141 
-
142 } // SINRICPRO_NAMESPACE
-
143 
-
144 template <typename T>
-
145 using VolumeController = SINRICPRO_NAMESPACE::VolumeController<T>;
-
VolumeController.
Definition: VolumeController.h:54
-
void onAdjustVolume(AdjustVolumeCallback cb)
Set callback function for adjustVolume request.
Definition: VolumeController.h:97
-
void onSetVolume(SetVolumeCallback cb)
Set callback function for setVolume request.
Definition: VolumeController.h:87
-
bool sendVolumeEvent(int volume, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setVolume event to SinricPro Server indicating actual volume has changed.
Definition: VolumeController.h:109
-
std::function< bool(const String &, int &)> SetVolumeCallback
Callback definition for onSetVolume function.
Definition: VolumeController.h:29
-
std::function< bool(const String &, int &, bool)> AdjustVolumeCallback
Callback definition for onAdjustVolume function.
Definition: VolumeController.h:46
+
1#pragma once
+
2
+
3#include "../SinricProRequest.h"
+
4#include "../EventLimiter.h"
+
5#include "../SinricProStrings.h"
+
6
+
7#include "../SinricProNamespace.h"
+
8namespace SINRICPRO_NAMESPACE {
+
9
+
10FSTR(VOLUME, setVolume); // "setVolume"
+
11FSTR(VOLUME, volume); // "volume"
+
12FSTR(VOLUME, adjustVolume); // "adjustVolume"
+
13FSTR(VOLUME, volumeDefault); // "volumeDefault"
+
14
+
29using SetVolumeCallback = std::function<bool(const String &, int &)>;
+
30
+
46using AdjustVolumeCallback = std::function<bool(const String &, int &, bool)>;
+
47
+
48
+
53template <typename T>
+
+ +
55 public:
+ +
57
+
+ +
+ +
60
+
+ +
62
+
63 protected:
+
64 bool handleVolumeController(SinricProRequest &request);
+
65
+
66 private:
+
67 EventLimiter event_limiter;
+
68 SetVolumeCallback volumeCallback;
+
69 AdjustVolumeCallback adjustVolumeCallback;
+
70};
+
71
+
72template <typename T>
+ +
74: event_limiter(EVENT_LIMIT_STATE) {
+
75 T* device = static_cast<T*>(this);
+
76 device->registerRequestHandler(std::bind(&VolumeController<T>::handleVolumeController, this, std::placeholders::_1));
+
77}
+
78
+
86template <typename T>
+ +
88
+
96template <typename T>
+ +
98
+
108template <typename T>
+
+ +
110 if (event_limiter) return false;
+
111 T* device = static_cast<T*>(this);
+
112
+ + + +
116 return device->sendEvent(eventMessage);
+
117}
+
+
+
118
+
119template <typename T>
+ +
121 T* device = static_cast<T*>(this);
+
122
+
123 bool success = false;
+
124
+
125 if (volumeCallback && request.action == FSTR_VOLUME_setVolume) {
+
126 int volume = request.request_value[FSTR_VOLUME_volume];
+
127 success = volumeCallback(device->deviceId, volume);
+
128 request.response_value[FSTR_VOLUME_volume] = volume;
+
129 return success;
+
130 }
+
131
+
132 if (adjustVolumeCallback && request.action == FSTR_VOLUME_adjustVolume) {
+
133 int volume = request.request_value[FSTR_VOLUME_volume];
+
134 bool volumeDefault = request.request_value[FSTR_VOLUME_volumeDefault] | false;
+
135 success = adjustVolumeCallback(device->deviceId, volume, volumeDefault);
+
136 request.response_value[FSTR_VOLUME_volume] = volume;
+
137 return success;
+
138 }
+
139 return success;
+
140}
+
141
+
142} // SINRICPRO_NAMESPACE
+
143
+
144template <typename T>
+
145using VolumeController = SINRICPRO_NAMESPACE::VolumeController<T>;
+
+
+
+
AirQuality.
Definition AirQualitySensor.h:19
+
VolumeController.
Definition VolumeController.h:54
+
void onAdjustVolume(AdjustVolumeCallback cb)
Set callback function for adjustVolume request.
Definition VolumeController.h:97
+
void onSetVolume(SetVolumeCallback cb)
Set callback function for setVolume request.
Definition VolumeController.h:87
+
bool sendVolumeEvent(int volume, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setVolume event to SinricPro Server indicating actual volume has changed.
Definition VolumeController.h:109
+
std::function< bool(const String &, int &)> SetVolumeCallback
Callback definition for onSetVolume function.
Definition VolumeController.h:29
+
std::function< bool(const String &, int &, bool)> AdjustVolumeCallback
Callback definition for onAdjustVolume function.
Definition VolumeController.h:46
diff --git a/docs/annotated.html b/docs/annotated.html index bef676b..a73d706 100644 --- a/docs/annotated.html +++ b/docs/annotated.html @@ -1,9 +1,9 @@ - + - - + + SinricPro Library: Class List @@ -23,8 +23,8 @@
- - + @@ -33,21 +33,22 @@
+
SinricPro Library
- + +/* @license-end */ +
@@ -61,7 +62,7 @@
@@ -75,66 +76,72 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
Class List
+
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 NSINRICPRO_2_9_17SinricPro namespace
 CSinricProClassThe main class of this library, handling communication between SinricPro Server and your devices
 CSinricProAirQualitySensorDevice to report air quality events
 CSinricProBlindsDevice to control interior blinds
 CSinricProCameraCamera suporting basic on / off command
 CSinricProContactsensorDevice to report contact sensor events
 CSinricProDeviceBase class for all device types
 CSinricProDimSwitchDevice which supports on / off and dimming commands
 CSinricProDoorbellDevice to report doorbell events
 CSinricProFanDevice to turn on / off a fan and change it's speed by using powerlevel
 CSinricProFanUSDevice to control a fan with on / off commands and its speed by a range value
 CSinricProGarageDoorDevice to control a garage door
 CSinricProLightDevice to control a light
 CSinricProLockDevice to control a smart lock
 CSinricProMotionsensorDevice to report motion detection events
 CSinricProPowerSensorDevice to report power usage
 CSinricProSpeakerDevice to control a smart speaker
 CSinricProSwitchDevice suporting basic on / off command
 CSinricProTemperaturesensorDevice to report actual temperature and humidity
 CSinricProThermostatDevice to control Thermostat
 CSinricProTVDevice to control a TV
 CSinricProWindowACDevice to control Window Air Conditioner
 CAirQualitySensorAirQuality
 CBrightnessControllerBrightnessController
 CChannelControllerChannelController
 CColorControllerColorController
 CColorTemperatureControllerColorTemperatureController
 CContactSensorContactSensor
 CDoorbellDorbell
 CDoorControllerDoorController - only used for GarageDoor device and cannot used as capability for a custom device!
 CEqualizerControllerEqualizerController
 CInputControllerInputController
 CKeypadControllerKeypadController
 CLockControllerLockController
 CMediaControllerMediaController
 CModeControllerModeController
 CMotionSensorMotionSensor
 CMuteControllerMuteController
 CPercentageControllerPercentageController
 CPowerLevelControllerPowerLevelController
 CPowerSensorPowerSensor
 CPowerStateControllerPowerStateController
 CPushNotificationPushNotification
 CRangeControllerRangeControllerFloatInt
 CTemperatureSensorTemperatureSensor
 CThermostatControllerThermostatController
 CToggleControllerToggleController
 CVolumeControllerVolumeController
 NSINRICPRO_3_0_0SinricPro namespace
 CAirQualitySensorAirQuality
 CBrightnessControllerBrightnessController
 CChannelControllerChannelController
 CColorControllerColorController
 CColorTemperatureControllerColorTemperatureController
 CContactSensorContactSensor
 CDoorbellDorbell
 CDoorControllerDoorController - only used for GarageDoor device and cannot used as capability for a custom device!
 CEqualizerControllerEqualizerController
 CInputControllerInputController
 CKeypadControllerKeypadController
 CLockControllerLockController
 CMediaControllerMediaController
 CModeControllerModeController
 CMotionSensorMotionSensor
 CMuteControllerMuteController
 CPercentageControllerPercentageController
 CPowerLevelControllerPowerLevelController
 CPowerSensorPowerSensor
 CPowerStateControllerPowerStateController
 CPushNotificationPushNotification
 CRangeControllerRangeControllerFloatInt
 CSinricProAirQualitySensorDevice to report air quality events
 CSinricProBlindsDevice to control interior blinds
 CSinricProCameraCamera suporting basic on / off command
 CSinricProClassThe main class of this library, handling communication between SinricPro Server and your devices
 CSinricProContactsensorDevice to report contact sensor events
 CSinricProDeviceBase class for all device types
 CSinricProDimSwitchDevice which supports on / off and dimming commands
 CSinricProDoorbellDevice to report doorbell events
 CSinricProFanDevice to turn on / off a fan and change it's speed by using powerlevel
 CSinricProFanUSDevice to control a fan with on / off commands and its speed by a range value
 CSinricProGarageDoorDevice to control a garage door
 CSinricProLightDevice to control a light
 CSinricProLockDevice to control a smart lock
 CSinricProMotionsensorDevice to report motion detection events
 CSinricProPowerSensorDevice to report power usage
 CSinricProSpeakerDevice to control a smart speaker
 CSinricProSwitchDevice suporting basic on / off command
 CSinricProTemperaturesensorDevice to report actual temperature and humidity
 CSinricProThermostatDevice to control Thermostat
 CSinricProTVDevice to control a TV
 CSinricProWindowACDevice to control Window Air Conditioner
 CTemperatureSensorTemperatureSensor
 CThermostatControllerThermostatController
 CToggleControllerToggleController
 CVolumeControllerVolumeController
@@ -142,7 +149,7 @@ diff --git a/docs/annotated_dup.js b/docs/annotated_dup.js index 8c3af3c..e9acaed 100644 --- a/docs/annotated_dup.js +++ b/docs/annotated_dup.js @@ -1,52 +1,52 @@ var annotated_dup = [ - [ "SINRICPRO_2_9_17", "namespace_s_i_n_r_i_c_p_r_o__2__9__17.html", [ - [ "SinricProClass", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class" ], - [ "SinricProAirQualitySensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_air_quality_sensor.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_air_quality_sensor" ], - [ "SinricProBlinds", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds" ], - [ "SinricProCamera", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_camera.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_camera" ], - [ "SinricProContactsensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_contactsensor.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_contactsensor" ], - [ "SinricProDevice", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_device.html", null ], - [ "SinricProDimSwitch", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch" ], - [ "SinricProDoorbell", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_doorbell.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_doorbell" ], - [ "SinricProFan", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan" ], - [ "SinricProFanUS", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s" ], - [ "SinricProGarageDoor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_garage_door.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_garage_door" ], - [ "SinricProLight", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light" ], - [ "SinricProLock", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_lock.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_lock" ], - [ "SinricProMotionsensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_motionsensor.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_motionsensor" ], - [ "SinricProPowerSensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_power_sensor.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_power_sensor" ], - [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker" ], - [ "SinricProSwitch", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_switch.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_switch" ], - [ "SinricProTemperaturesensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_temperaturesensor.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_temperaturesensor" ], - [ "SinricProThermostat", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat" ], - [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v" ], - [ "SinricProWindowAC", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c" ], - [ "AirQualitySensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_air_quality_sensor.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_air_quality_sensor" ], - [ "BrightnessController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller" ], - [ "ChannelController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller" ], - [ "ColorController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_controller" ], - [ "ColorTemperatureController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller" ], - [ "ContactSensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_contact_sensor.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_contact_sensor" ], - [ "Doorbell", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_doorbell.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_doorbell" ], - [ "DoorController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_door_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_door_controller" ], - [ "EqualizerController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller" ], - [ "InputController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller" ], - [ "KeypadController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_keypad_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_keypad_controller" ], - [ "LockController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_lock_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_lock_controller" ], - [ "MediaController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller" ], - [ "ModeController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller" ], - [ "MotionSensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_motion_sensor.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_motion_sensor" ], - [ "MuteController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller" ], - [ "PercentageController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_percentage_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_percentage_controller" ], - [ "PowerLevelController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller" ], - [ "PowerSensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_sensor.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_sensor" ], - [ "PowerStateController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller" ], - [ "PushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification" ], - [ "RangeController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller" ], - [ "TemperatureSensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_temperature_sensor.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_temperature_sensor" ], - [ "ThermostatController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller" ], - [ "ToggleController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_toggle_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_toggle_controller" ], - [ "VolumeController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller" ] + [ "SINRICPRO_3_0_0", "namespace_s_i_n_r_i_c_p_r_o__3__0__0.html", [ + [ "AirQualitySensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor" ], + [ "BrightnessController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller" ], + [ "ChannelController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller" ], + [ "ColorController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller" ], + [ "ColorTemperatureController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller" ], + [ "ContactSensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor" ], + [ "Doorbell", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell" ], + [ "DoorController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller" ], + [ "EqualizerController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller" ], + [ "InputController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller" ], + [ "KeypadController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller" ], + [ "LockController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller" ], + [ "MediaController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller" ], + [ "ModeController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller" ], + [ "MotionSensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor" ], + [ "MuteController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller" ], + [ "PercentageController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller" ], + [ "PowerLevelController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller" ], + [ "PowerSensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor" ], + [ "PowerStateController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller" ], + [ "PushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification" ], + [ "RangeController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller" ], + [ "SinricProAirQualitySensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor" ], + [ "SinricProBlinds", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds" ], + [ "SinricProCamera", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera" ], + [ "SinricProClass", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class" ], + [ "SinricProContactsensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor" ], + [ "SinricProDevice", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device.html", null ], + [ "SinricProDimSwitch", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch" ], + [ "SinricProDoorbell", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell" ], + [ "SinricProFan", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan" ], + [ "SinricProFanUS", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s" ], + [ "SinricProGarageDoor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door" ], + [ "SinricProLight", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light" ], + [ "SinricProLock", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock" ], + [ "SinricProMotionsensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor" ], + [ "SinricProPowerSensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor" ], + [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker" ], + [ "SinricProSwitch", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch" ], + [ "SinricProTemperaturesensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor" ], + [ "SinricProThermostat", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat" ], + [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v" ], + [ "SinricProWindowAC", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c" ], + [ "TemperatureSensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor" ], + [ "ThermostatController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller" ], + [ "ToggleController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller" ], + [ "VolumeController", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller" ] ] ] ]; \ No newline at end of file diff --git a/docs/bc_sd.png b/docs/bc_sd.png new file mode 100644 index 0000000..31ca888 Binary files /dev/null and b/docs/bc_sd.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor-members.html new file mode 100644 index 0000000..53ad466 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor-members.html @@ -0,0 +1,108 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
AirQualitySensor< T > Member List
+
+
+ +

This is the complete list of members for AirQualitySensor< T >, including all inherited members.

+ + +
sendAirQualityEvent(int pm1=0, int pm2_5=0, int pm10=0, String cause=FSTR_SINRICPRO_PERIODIC_POLL)AirQualitySensor< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.html new file mode 100644 index 0000000..cac7014 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.html @@ -0,0 +1,197 @@ + + + + + + + +SinricPro Library: AirQualitySensor< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
AirQualitySensor< T >
+
+
+ +

AirQuality. + More...

+ +

#include <AirQualitySensor.h>

+
+Inheritance diagram for AirQualitySensor< T >:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+ + + + + +

+Public Member Functions

bool sendAirQualityEvent (int pm1=0, int pm2_5=0, int pm10=0, String cause=FSTR_SINRICPRO_PERIODIC_POLL)
 Sending air quality to SinricPro server.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::AirQualitySensor< T >

AirQuality.

+

Member Function Documentation

+ +

◆ sendAirQualityEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool sendAirQualityEvent (int pm1 = 0,
int pm2_5 = 0,
int pm10 = 0,
String cause = FSTR_SINRICPRO_PERIODIC_POLL 
)
+
+ +

Sending air quality to SinricPro server.

+
Parameters
+ + + + + +
pm1int 1.0 μm particle pollutant in μg/m3
pm2_5int 2.5 μm particle pollutant in μg/m3
pm10int 10 μm particle pollutant in μg/m3
cause(optional) String reason why event is sent (default = "PERIODIC_POLL")
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.js new file mode 100644 index 0000000..1709ece --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.js @@ -0,0 +1,4 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor = +[ + [ "sendAirQualityEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.html#a733195bdc5b15c858e4e890847b3a0d5", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor__inherit__graph.map new file mode 100644 index 0000000..2f1101f --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor__inherit__graph.md5 new file mode 100644 index 0000000..75803bc --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor__inherit__graph.md5 @@ -0,0 +1 @@ +f165304063b214c0327790bba05f0d9a \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor__inherit__graph.png new file mode 100644 index 0000000..ef590a4 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller-members.html new file mode 100644 index 0000000..794a193 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller-members.html @@ -0,0 +1,110 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
BrightnessController< T > Member List
+
+
+ +

This is the complete list of members for BrightnessController< T >, including all inherited members.

+ + + + +
onAdjustBrightness(AdjustBrightnessCallback cb)BrightnessController< T >
onBrightness(BrightnessCallback cb)BrightnessController< T >
sendBrightnessEvent(int brightness, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)BrightnessController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html new file mode 100644 index 0000000..c204099 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html @@ -0,0 +1,249 @@ + + + + + + + +SinricPro Library: BrightnessController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
BrightnessController< T >
+
+
+ +

BrightnessController. + More...

+ +

#include <BrightnessController.h>

+
+Inheritance diagram for BrightnessController< T >:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+ + + + + + + + + + + +

+Public Member Functions

void onBrightness (BrightnessCallback cb)
 Set callback function for setBrightness request.
 
void onAdjustBrightness (AdjustBrightnessCallback cb)
 Set callback function for adjustBrightness request.
 
bool sendBrightnessEvent (int brightness, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setBrightness event to SinricPro Server indicating actual brightness.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::BrightnessController< T >

BrightnessController.

+

Member Function Documentation

+ +

◆ onAdjustBrightness()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onAdjustBrightness (AdjustBrightnessCallback cb)
+
+ +

Set callback function for adjustBrightness request.

+
Parameters
+ + +
cbFunction pointer to a AdjustBrightnessCallback function
+
+
+
Returns
void
+
See also
AdjustBrightnessCallback
+ +
+
+ +

◆ onBrightness()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onBrightness (BrightnessCallback cb)
+
+ +

Set callback function for setBrightness request.

+
Parameters
+ + +
cbFunction pointer to a BrightnessCallback function
+
+
+
Returns
void
+
See also
BrightnessCallback
+ +
+
+ +

◆ sendBrightnessEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
bool sendBrightnessEvent (int brightness,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send setBrightness event to SinricPro Server indicating actual brightness.

+
Parameters
+ + + +
brightnessInteger value with actual brightness the device is set to
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.js new file mode 100644 index 0000000..60c5aad --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.js @@ -0,0 +1,6 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller = +[ + [ "onAdjustBrightness", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html#a0633e5fa2981189f4a093bab00a8c7f1", null ], + [ "onBrightness", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html#abbaab3067b1fcdcc5928451b818a4420", null ], + [ "sendBrightnessEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html#a2a96c414210f61de3ce53a4ca8c963b3", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller__inherit__graph.map new file mode 100644 index 0000000..c637bdc --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller__inherit__graph.md5 new file mode 100644 index 0000000..55199b5 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller__inherit__graph.md5 @@ -0,0 +1 @@ +3d031a1c22aef07155eb37ae297c086b \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller__inherit__graph.png new file mode 100644 index 0000000..67bb945 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller-members.html new file mode 100644 index 0000000..26135ef --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller-members.html @@ -0,0 +1,111 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
ChannelController< T > Member List
+
+
+ +

This is the complete list of members for ChannelController< T >, including all inherited members.

+ + + + + +
onChangeChannel(ChangeChannelCallback cb)ChannelController< T >
onChangeChannelNumber(ChangeChannelNumberCallback cb)ChannelController< T >
onSkipChannels(SkipChannelsCallback cb)ChannelController< T >
sendChangeChannelEvent(String channelName, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ChannelController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html new file mode 100644 index 0000000..9885c6b --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html @@ -0,0 +1,282 @@ + + + + + + + +SinricPro Library: ChannelController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
ChannelController< T >
+
+
+ +

ChannelController. + More...

+ +

#include <ChannelController.h>

+
+Inheritance diagram for ChannelController< T >:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+ + + + + + + + + + + + + + +

+Public Member Functions

void onChangeChannel (ChangeChannelCallback cb)
 Set callback function for changeChannel request.
 
void onChangeChannelNumber (ChangeChannelNumberCallback cb)
 Set callback function for changeChannel request.
 
void onSkipChannels (SkipChannelsCallback cb)
 Set callback function for skipChannels request.
 
bool sendChangeChannelEvent (String channelName, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send changeChannel event to SinricPro Server to report selected channel.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::ChannelController< T >

ChannelController.

+

Member Function Documentation

+ +

◆ onChangeChannel()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onChangeChannel (ChangeChannelCallback cb)
+
+ +

Set callback function for changeChannel request.

+
Parameters
+ + +
cbFunction pointer to a ChangeChannelCallback function
+
+
+
Returns
void
+
See also
ChangeChannelCallback
+ +
+
+ +

◆ onChangeChannelNumber()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onChangeChannelNumber (ChangeChannelNumberCallback cb)
+
+ +

Set callback function for changeChannel request.

+
Parameters
+ + +
cbFunction pointer to a ChangeChannelNumberCallback function
+
+
+
Returns
void
+
See also
ChangeChannelNumberCallback
+ +
+
+ +

◆ onSkipChannels()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onSkipChannels (SkipChannelsCallback cb)
+
+ +

Set callback function for skipChannels request.

+
Parameters
+ + +
cbFunction pointer to a SkipChannelsCallback function
+
+
+
Returns
void
+
See also
SkipChannelsCallback
+ +
+
+ +

◆ sendChangeChannelEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
bool sendChangeChannelEvent (String channelName,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send changeChannel event to SinricPro Server to report selected channel.

+
Parameters
+ + + +
channelNameString with actual channel
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.js new file mode 100644 index 0000000..0007804 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.js @@ -0,0 +1,7 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller = +[ + [ "onChangeChannel", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html#a92f3b83744b5bb82d32628eef39c1eb9", null ], + [ "onChangeChannelNumber", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html#afd8aee20590bfadec181c6ee515125ec", null ], + [ "onSkipChannels", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html#ab1123d03d471fad4896eb2960ed41855", null ], + [ "sendChangeChannelEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html#aff5839c3020c3006af1a2a8c37cc858e", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller__inherit__graph.map new file mode 100644 index 0000000..2a1ae88 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller__inherit__graph.md5 new file mode 100644 index 0000000..da2016a --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller__inherit__graph.md5 @@ -0,0 +1 @@ +05627dfa72a941093aedb3cc5313f975 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller__inherit__graph.png new file mode 100644 index 0000000..ae635e9 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller-members.html new file mode 100644 index 0000000..7c8595c --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller-members.html @@ -0,0 +1,109 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
ColorController< T > Member List
+
+
+ +

This is the complete list of members for ColorController< T >, including all inherited members.

+ + + +
onColor(ColorCallback cb)ColorController< T >
sendColorEvent(byte r, byte g, byte b, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ColorController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html new file mode 100644 index 0000000..6d2fdfd --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html @@ -0,0 +1,230 @@ + + + + + + + +SinricPro Library: ColorController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
ColorController< T >
+
+
+ +

ColorController. + More...

+ +

#include <ColorController.h>

+
+Inheritance diagram for ColorController< T >:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

void onColor (ColorCallback cb)
 Set callback function for setColor request.
 
bool sendColorEvent (byte r, byte g, byte b, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setColor event to SinricPro Server indicating actual color.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::ColorController< T >

ColorController.

+

Member Function Documentation

+ +

◆ onColor()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onColor (ColorCallback cb)
+
+ +

Set callback function for setColor request.

+
Parameters
+ + +
cbFunction pointer to a ColorCallback function
+
+
+
Returns
void
+
See also
ColorCallback
+ +
+
+ +

◆ sendColorEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool sendColorEvent (byte r,
byte g,
byte b,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send setColor event to SinricPro Server indicating actual color.

+
Parameters
+ + + + + +
rByte value for red
gByte value for green
bByte value for blue
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.js new file mode 100644 index 0000000..1c26c42 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.js @@ -0,0 +1,5 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller = +[ + [ "onColor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html#a059ff103149869b7c49cdb8911875b7b", null ], + [ "sendColorEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html#a3599a6d00eb0f9127a7c1188885c5bc0", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller__inherit__graph.map new file mode 100644 index 0000000..9f615d9 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller__inherit__graph.md5 new file mode 100644 index 0000000..bd3360e --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller__inherit__graph.md5 @@ -0,0 +1 @@ +33ddd9c72ef077b2ecf84ebd7000c3db \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller__inherit__graph.png new file mode 100644 index 0000000..df29367 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller-members.html new file mode 100644 index 0000000..32615c2 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller-members.html @@ -0,0 +1,111 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
ColorTemperatureController< T > Member List
+
+
+ +

This is the complete list of members for ColorTemperatureController< T >, including all inherited members.

+ + + + + +
onColorTemperature(ColorTemperatureCallback cb)ColorTemperatureController< T >
onDecreaseColorTemperature(DecreaseColorTemperatureCallback cb)ColorTemperatureController< T >
onIncreaseColorTemperature(IncreaseColorTemperatureCallback cb)ColorTemperatureController< T >
sendColorTemperatureEvent(int colorTemperature, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ColorTemperatureController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html new file mode 100644 index 0000000..66383df --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html @@ -0,0 +1,287 @@ + + + + + + + +SinricPro Library: ColorTemperatureController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
ColorTemperatureController< T >
+
+
+ +

ColorTemperatureController. + More...

+ +

#include <ColorTemperatureController.h>

+
+Inheritance diagram for ColorTemperatureController< T >:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+ + + + + + + + + + + + + + +

+Public Member Functions

void onColorTemperature (ColorTemperatureCallback cb)
 Set callback function for setColorTemperature request.
 
void onIncreaseColorTemperature (IncreaseColorTemperatureCallback cb)
 Set callback function for increaseColorTemperature request.
 
void onDecreaseColorTemperature (DecreaseColorTemperatureCallback cb)
 Set callback function for decreaseColorTemperature request.
 
bool sendColorTemperatureEvent (int colorTemperature, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setColorTemperature event to SinricPro Server indicating actual color temperature.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::ColorTemperatureController< T >

ColorTemperatureController.

+

Member Function Documentation

+ +

◆ onColorTemperature()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onColorTemperature (ColorTemperatureCallback cb)
+
+ +

Set callback function for setColorTemperature request.

+
Parameters
+ + +
cbFunction pointer to a ColorTemperatureCallback function
+
+
+
Returns
void
+
See also
ColorTemperatureCallback
+ +
+
+ +

◆ onDecreaseColorTemperature()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onDecreaseColorTemperature (DecreaseColorTemperatureCallback cb)
+
+ +

Set callback function for decreaseColorTemperature request.

+
Parameters
+ + +
cbFunction pointer to a DecreaseColorTemperatureCallback function
+
+
+
Returns
void
+
See also
DecreaseColorTemperatureCallback
+ +
+
+ +

◆ onIncreaseColorTemperature()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onIncreaseColorTemperature (IncreaseColorTemperatureCallback cb)
+
+ +

Set callback function for increaseColorTemperature request.

+
Parameters
+ + +
cbFunction pointer to a IncreaseColorTemperatureCallback function
+
+
+
Returns
void
+
See also
IncreaseColorTemperatureCallback
+ +
+
+ +

◆ sendColorTemperatureEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
bool sendColorTemperatureEvent (int colorTemperature,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send setColorTemperature event to SinricPro Server indicating actual color temperature.

+
Parameters
+ + + +
colorTemperatureInteger with new color temperature the device is set to
+ 2200 = warm white
+ 2700 = soft white
+ 4000 = white
+ 5500 = daylight white
+ 7000 = cool white
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.js new file mode 100644 index 0000000..a6d2eaa --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.js @@ -0,0 +1,7 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller = +[ + [ "onColorTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html#a8535c44fd2517ed09ebe6a203cc25b67", null ], + [ "onDecreaseColorTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html#a7468976e7fffeee14cc869b7236cbb50", null ], + [ "onIncreaseColorTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html#a7ea9fd9861a5668a41d06267bfbec82a", null ], + [ "sendColorTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html#a0f90d7f5a5b365116f97beca7630ccc9", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller__inherit__graph.map new file mode 100644 index 0000000..b5b9d52 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller__inherit__graph.md5 new file mode 100644 index 0000000..b069ebd --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller__inherit__graph.md5 @@ -0,0 +1 @@ +bbb1768333abb3b91bb6978cf70937af \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller__inherit__graph.png new file mode 100644 index 0000000..d762f49 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor-members.html new file mode 100644 index 0000000..dabc0f0 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor-members.html @@ -0,0 +1,108 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
ContactSensor< T > Member List
+
+
+ +

This is the complete list of members for ContactSensor< T >, including all inherited members.

+ + +
sendContactEvent(bool detected, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ContactSensor< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.html new file mode 100644 index 0000000..ac3fd6c --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.html @@ -0,0 +1,179 @@ + + + + + + + +SinricPro Library: ContactSensor< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
ContactSensor< T >
+
+
+ +

ContactSensor. + More...

+ +

#include <ContactSensor.h>

+
+Inheritance diagram for ContactSensor< T >:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+ + + + + +

+Public Member Functions

bool sendContactEvent (bool detected, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setContactState event to SinricPro Server indicating actual power state.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::ContactSensor< T >

ContactSensor.

+

Member Function Documentation

+ +

◆ sendContactEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
bool sendContactEvent (bool detected,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send setContactState event to SinricPro Server indicating actual power state.

+
Parameters
+ + + +
detected[in] booltrue = contact is closed
+ [in] false = contact is open
cause[in] String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
true event has been sent successfully
+
+false event has not been sent, maybe you sent to much events in a short distance of time
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.js new file mode 100644 index 0000000..c0882fe --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.js @@ -0,0 +1,4 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor = +[ + [ "sendContactEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.html#a452a4cfa3177d8d8d31c5919e9ccbb19", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor__inherit__graph.map new file mode 100644 index 0000000..0082d22 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor__inherit__graph.md5 new file mode 100644 index 0000000..244da1d --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor__inherit__graph.md5 @@ -0,0 +1 @@ +205c07a196b989a46edda59713e71aa5 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor__inherit__graph.png new file mode 100644 index 0000000..3ae332f Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller-members.html new file mode 100644 index 0000000..c0983d1 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller-members.html @@ -0,0 +1,109 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
DoorController< T > Member List
+
+
+ +

This is the complete list of members for DoorController< T >, including all inherited members.

+ + + +
onDoorState(DoorCallback cb)DoorController< T >
sendDoorStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)DoorController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.html new file mode 100644 index 0000000..383711f --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.html @@ -0,0 +1,217 @@ + + + + + + + +SinricPro Library: DoorController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
DoorController< T >
+
+
+ +

DoorController - only used for GarageDoor device and cannot used as capability for a custom device! + More...

+ +

#include <DoorController.h>

+
+Inheritance diagram for DoorController< T >:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

void onDoorState (DoorCallback cb)
 Set callback function for onDoorState request.
 
bool sendDoorStateEvent (bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send DoorState event to update actual door state on SinricPro Server.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::DoorController< T >

DoorController - only used for GarageDoor device and cannot used as capability for a custom device!

+

Member Function Documentation

+ +

◆ onDoorState()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onDoorState (DoorCallback cb)
+
+ +

Set callback function for onDoorState request.

+
Parameters
+ + +
cbFunction pointer to a onDoorState function
+
+
+
Returns
void
+
See also
DoorStateCallback
+ +
+
+ +

◆ sendDoorStateEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
bool sendDoorStateEvent (bool state,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send DoorState event to update actual door state on SinricPro Server.

+
Parameters
+ + + +
statebool true = close
+ false = open
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.js new file mode 100644 index 0000000..9851955 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.js @@ -0,0 +1,5 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller = +[ + [ "onDoorState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.html#a6b536531ab89b39f1a48cb107e22185e", null ], + [ "sendDoorStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.html#a375cda2b0bc05e1a66e3bc29d059d9a7", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller__inherit__graph.map new file mode 100644 index 0000000..1932ec0 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller__inherit__graph.md5 new file mode 100644 index 0000000..be5fef1 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller__inherit__graph.md5 @@ -0,0 +1 @@ +b093cf85e30c8f967e2840b6e22b5803 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller__inherit__graph.png new file mode 100644 index 0000000..305aced Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell-members.html new file mode 100644 index 0000000..f0cfdb5 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell-members.html @@ -0,0 +1,108 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Doorbell< T > Member List
+
+
+ +

This is the complete list of members for Doorbell< T >, including all inherited members.

+ + +
sendDoorbellEvent(String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)Doorbell< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.html new file mode 100644 index 0000000..3399863 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.html @@ -0,0 +1,172 @@ + + + + + + + +SinricPro Library: Doorbell< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
Doorbell< T >
+
+
+ +

Dorbell. + More...

+ +

#include <Doorbell.h>

+
+Inheritance diagram for Doorbell< T >:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+ + + + + +

+Public Member Functions

bool sendDoorbellEvent (String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send Doorbell event to SinricPro Server indicating someone pressed the doorbell button.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::Doorbell< T >

Dorbell.

+

Member Function Documentation

+ +

◆ sendDoorbellEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + +
bool sendDoorbellEvent (String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION)
+
+ +

Send Doorbell event to SinricPro Server indicating someone pressed the doorbell button.

+
Parameters
+ + +
causeString (optional) Reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.js new file mode 100644 index 0000000..1c735dd --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.js @@ -0,0 +1,4 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell = +[ + [ "sendDoorbellEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.html#a168f5a4ddcbf381fd548bf10ee05b272", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell__inherit__graph.map new file mode 100644 index 0000000..cd3d8af --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell__inherit__graph.md5 new file mode 100644 index 0000000..e7a3fa8 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell__inherit__graph.md5 @@ -0,0 +1 @@ +bc708943c67aa4f977ed51e3d1a4fc2f \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell__inherit__graph.png new file mode 100644 index 0000000..1d254dd Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller-members.html new file mode 100644 index 0000000..82169e6 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller-members.html @@ -0,0 +1,111 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
EqualizerController< T > Member List
+
+
+ +

This is the complete list of members for EqualizerController< T >, including all inherited members.

+ + + + + +
onAdjustBands(AdjustBandsCallback cb)EqualizerController< T >
onResetBands(ResetBandsCallback cb)EqualizerController< T >
onSetBands(SetBandsCallback cb)EqualizerController< T >
sendBandsEvent(String bands, int level, String cause="PHYSICAL_INTERACTION")EqualizerController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html new file mode 100644 index 0000000..38f5bd2 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html @@ -0,0 +1,290 @@ + + + + + + + +SinricPro Library: EqualizerController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
EqualizerController< T >
+
+
+ +

EqualizerController. + More...

+ +

#include <EqualizerController.h>

+
+Inheritance diagram for EqualizerController< T >:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+ + + + + + + + + + + + + + +

+Public Member Functions

void onSetBands (SetBandsCallback cb)
 Set callback function for setBands request.
 
void onAdjustBands (AdjustBandsCallback cb)
 Set callback function for adjustBands request.
 
void onResetBands (ResetBandsCallback cb)
 Set callback function for resetBands request.
 
bool sendBandsEvent (String bands, int level, String cause="PHYSICAL_INTERACTION")
 Send setBands event to SinricPro Server indicating bands level has changed.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::EqualizerController< T >

EqualizerController.

+

Member Function Documentation

+ +

◆ onAdjustBands()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onAdjustBands (AdjustBandsCallback cb)
+
+ +

Set callback function for adjustBands request.

+
Parameters
+ + +
cbFunction pointer to a AdjustBandsCallback function
+
+
+
Returns
void
+
See also
AdjustBandsCallback
+ +
+
+ +

◆ onResetBands()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onResetBands (ResetBandsCallback cb)
+
+ +

Set callback function for resetBands request.

+
Parameters
+ + +
cbFunction pointer to a ResetBandsCallback function
+
+
+
Returns
void
+
See also
ResetBandsCallback
+ +
+
+ +

◆ onSetBands()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onSetBands (SetBandsCallback cb)
+
+ +

Set callback function for setBands request.

+
Parameters
+ + +
cbFunction pointer to a SetBandsCallback function
+
+
+
Returns
void
+
See also
SetBandsCallback
+ +
+
+ +

◆ sendBandsEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sendBandsEvent (String bands,
int level,
String cause = "PHYSICAL_INTERACTION" 
)
+
+ +

Send setBands event to SinricPro Server indicating bands level has changed.

+
Parameters
+ + + + +
bandsString which bands has changed
+ BASS, MIDRANGE, TREBBLE
levelInteger with changed bands level
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.js new file mode 100644 index 0000000..abf5b61 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.js @@ -0,0 +1,7 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller = +[ + [ "onAdjustBands", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html#a41a5c1506545c44c2408054a8675c7a8", null ], + [ "onResetBands", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html#aa6c3aabc2b442d82ac5456ccaac3f60d", null ], + [ "onSetBands", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html#a4aaa7a29394560be7537a86b0304d199", null ], + [ "sendBandsEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html#a4ad5674e36d96a73147388251b794c82", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller__inherit__graph.map new file mode 100644 index 0000000..d9c62cb --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller__inherit__graph.md5 new file mode 100644 index 0000000..605dd1c --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller__inherit__graph.md5 @@ -0,0 +1 @@ +f27e5f978f0ca5fbb5341cba1255f6df \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller__inherit__graph.png new file mode 100644 index 0000000..4746323 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller-members.html new file mode 100644 index 0000000..d3017fb --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller-members.html @@ -0,0 +1,109 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
InputController< T > Member List
+
+
+ +

This is the complete list of members for InputController< T >, including all inherited members.

+ + + +
onSelectInput(SelectInputCallback cb)InputController< T >
sendSelectInputEvent(String intput, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)InputController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html new file mode 100644 index 0000000..00a702e --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html @@ -0,0 +1,221 @@ + + + + + + + +SinricPro Library: InputController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
InputController< T >
+
+
+ +

InputController. + More...

+ +

#include <InputController.h>

+
+Inheritance diagram for InputController< T >:
+
+
Inheritance graph
+ + + + + + + + + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

void onSelectInput (SelectInputCallback cb)
 Set callback function for selectInput request.
 
bool sendSelectInputEvent (String intput, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send selectInput event to SinricPro Server to report selected input.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::InputController< T >

InputController.

+

Member Function Documentation

+ +

◆ onSelectInput()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onSelectInput (SelectInputCallback cb)
+
+ +

Set callback function for selectInput request.

+
Parameters
+ + +
cbFunction pointer to a SelectInputCallback function
+
+
+
Returns
void
+
See also
SelectInputCallback
+ +
+
+ +

◆ sendSelectInputEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
bool sendSelectInputEvent (String input,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send selectInput event to SinricPro Server to report selected input.

+
Parameters
+ + + +
inputString with actual media control
+ AUX 1..AUX 7, BLURAY, CABLE, CD, COAX 1,COAX 2, COMPOSITE 1, DVD, GAME, HD RADIO, HDMI 1.. HDMI 10, HDMI ARC, INPUT 1..INPUT 10, IPOD, LINE 1..LINE 7, MEDIA PLAYER, OPTICAL 1, OPTICAL 2, PHONO, PLAYSTATION, PLAYSTATION 3, PLAYSTATION 4, SATELLITE, SMARTCAST, TUNER, TV, USB DAC, VIDEO 1..VIDEO 3, XBOX
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.js new file mode 100644 index 0000000..8d22898 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.js @@ -0,0 +1,5 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller = +[ + [ "onSelectInput", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html#a18f8f71ecf0d7292a63d9486f94e5180", null ], + [ "sendSelectInputEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html#a973241ac912a18b142d236dda7f80e97", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller__inherit__graph.map new file mode 100644 index 0000000..c97940b --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller__inherit__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller__inherit__graph.md5 new file mode 100644 index 0000000..b740009 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller__inherit__graph.md5 @@ -0,0 +1 @@ +be39b7a752f62dc657a3e38970668ade \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller__inherit__graph.png new file mode 100644 index 0000000..91ece3e Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller-members.html new file mode 100644 index 0000000..515a85e --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller-members.html @@ -0,0 +1,108 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
KeypadController< T > Member List
+
+
+ +

This is the complete list of members for KeypadController< T >, including all inherited members.

+ + +
onKeystroke(KeystrokeCallback cb)KeypadController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller.html new file mode 100644 index 0000000..277908a --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller.html @@ -0,0 +1,154 @@ + + + + + + + +SinricPro Library: KeypadController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
KeypadController< T >
+
+
+ +

KeypadController. + More...

+ +

#include <KeypadController.h>

+ + + + + +

+Public Member Functions

void onKeystroke (KeystrokeCallback cb)
 Set callback function for sendKeystroke request.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::KeypadController< T >

KeypadController.

+

Member Function Documentation

+ +

◆ onKeystroke()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onKeystroke (KeystrokeCallback cb)
+
+ +

Set callback function for sendKeystroke request.

+
Parameters
+ + +
cbFunction pointer to a KeystrokeCallback function
+
+
+
Returns
void
+
See also
KeystrokeCallback
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller.js new file mode 100644 index 0000000..d5171d9 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller.js @@ -0,0 +1,4 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller = +[ + [ "onKeystroke", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller.html#ab24b4858dcc69145a367e964c2ae7961", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller-members.html new file mode 100644 index 0000000..45eda52 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller-members.html @@ -0,0 +1,109 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
LockController< T > Member List
+
+
+ +

This is the complete list of members for LockController< T >, including all inherited members.

+ + + +
onLockState(LockStateCallback cb)LockController< T >
sendLockStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)LockController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html new file mode 100644 index 0000000..d782872 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html @@ -0,0 +1,217 @@ + + + + + + + +SinricPro Library: LockController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
LockController< T >
+
+
+ +

LockController. + More...

+ +

#include <LockController.h>

+
+Inheritance diagram for LockController< T >:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

void onLockState (LockStateCallback cb)
 Set callback function for setLockState request.
 
bool sendLockStateEvent (bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send lockState event to SinricPro Server indicating actual lock state.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::LockController< T >

LockController.

+

Member Function Documentation

+ +

◆ onLockState()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onLockState (LockStateCallback cb)
+
+ +

Set callback function for setLockState request.

+
Parameters
+ + +
cbFunction pointer to a LockStateCallback function
+
+
+
Returns
void
+
See also
LockStateCallback
+ +
+
+ +

◆ sendLockStateEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
bool sendLockStateEvent (bool state,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send lockState event to SinricPro Server indicating actual lock state.

+
Parameters
+ + + +
statetrue = device is locked
+ false = device is unlocked
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.js new file mode 100644 index 0000000..63b5bb9 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.js @@ -0,0 +1,5 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller = +[ + [ "onLockState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html#aee42cc397234a454fd353ca6bc12a859", null ], + [ "sendLockStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html#a8fb3fec204da21e69d05f89a9ecb4739", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller__inherit__graph.map new file mode 100644 index 0000000..17971eb --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller__inherit__graph.md5 new file mode 100644 index 0000000..44cbb93 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller__inherit__graph.md5 @@ -0,0 +1 @@ +efef0c254bba53ec6647d81c67fcb53e \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller__inherit__graph.png new file mode 100644 index 0000000..b930083 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller-members.html new file mode 100644 index 0000000..1ab06c5 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller-members.html @@ -0,0 +1,109 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
MediaController< T > Member List
+
+
+ +

This is the complete list of members for MediaController< T >, including all inherited members.

+ + + +
onMediaControl(MediaControlCallback cb)MediaController< T >
sendMediaControlEvent(String mediaControl, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)MediaController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html new file mode 100644 index 0000000..8a8e1b7 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html @@ -0,0 +1,221 @@ + + + + + + + +SinricPro Library: MediaController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
MediaController< T >
+
+
+ +

MediaController. + More...

+ +

#include <MediaController.h>

+
+Inheritance diagram for MediaController< T >:
+
+
Inheritance graph
+ + + + + + + + + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

void onMediaControl (MediaControlCallback cb)
 Set callback function for mediaControl request.
 
bool sendMediaControlEvent (String mediaControl, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send mediaControl event to SinricPro Server indicating devices media control state.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::MediaController< T >

MediaController.

+

Member Function Documentation

+ +

◆ onMediaControl()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onMediaControl (MediaControlCallback cb)
+
+ +

Set callback function for mediaControl request.

+
Parameters
+ + +
cbFunction pointer to a MediaControlCallback function
+
+
+
Returns
void
+
See also
MediaControlCallback
+ +
+
+ +

◆ sendMediaControlEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
bool sendMediaControlEvent (String mediaControl,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send mediaControl event to SinricPro Server indicating devices media control state.

+
Parameters
+ + + +
mediaControlString with actual media control
+ FastForward, Next, Pause, Play, Previous, Rewind, StartOver, Stop
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.js new file mode 100644 index 0000000..e5098d8 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.js @@ -0,0 +1,5 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller = +[ + [ "onMediaControl", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html#afc2620621377fff928737b5a8a537020", null ], + [ "sendMediaControlEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html#a7af593cbf79d38f6b90efb5afee45077", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller__inherit__graph.map new file mode 100644 index 0000000..ffebc50 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller__inherit__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller__inherit__graph.md5 new file mode 100644 index 0000000..31454c5 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller__inherit__graph.md5 @@ -0,0 +1 @@ +9c60850c1ad6183752d5d0aff0926323 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller__inherit__graph.png new file mode 100644 index 0000000..a097fca Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller-members.html new file mode 100644 index 0000000..2220765 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller-members.html @@ -0,0 +1,111 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
ModeController< T > Member List
+
+
+ +

This is the complete list of members for ModeController< T >, including all inherited members.

+ + + + + +
onSetMode(ModeCallback cb)ModeController< T >
onSetMode(const String &instance, GenericModeCallback cb)ModeController< T >
sendModeEvent(String mode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ModeController< T >
sendModeEvent(String instance, String mode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ModeController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html new file mode 100644 index 0000000..f3b578f --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html @@ -0,0 +1,319 @@ + + + + + + + +SinricPro Library: ModeController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
ModeController< T >
+
+
+ +

ModeController. + More...

+ +

#include <ModeController.h>

+
+Inheritance diagram for ModeController< T >:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+ + + + + + + + + + + + + + +

+Public Member Functions

void onSetMode (ModeCallback cb)
 Set callback function for setMode request.
 
void onSetMode (const String &instance, GenericModeCallback cb)
 Set callback function for setMode request on a specific instance.
 
bool sendModeEvent (String mode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setMode event to SinricPro Server indicating the mode has changed.
 
bool sendModeEvent (String instance, String mode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setMode event to SinricPro Server indicating the mode on a specific instance has changed.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::ModeController< T >

ModeController.

+

Member Function Documentation

+ +

◆ onSetMode() [1/2]

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
void onSetMode (const String & instance,
GenericModeCallback cb 
)
+
+ +

Set callback function for setMode request on a specific instance.

+
Parameters
+ + + +
instanceString with instance name
cbFunction pointer to a ModeCallback function
+
+
+
Returns
void
+
See also
ModeCallback
+ +
+
+ +

◆ onSetMode() [2/2]

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onSetMode (ModeCallback cb)
+
+ +

Set callback function for setMode request.

+
Parameters
+ + +
cbFunction pointer to a ModeCallback function
+
+
+
Returns
void
+
See also
ModeCallback
+ +
+
+ +

◆ sendModeEvent() [1/2]

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sendModeEvent (String instance,
String mode,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send setMode event to SinricPro Server indicating the mode on a specific instance has changed.

+
Parameters
+ + + + +
instanceString instance name
modeString with actual mode device is set to
+ MOVIE, MUSIC, NIGHT, SPORT, TV
cause(optional) String reason why event is sent (default = FSTR_SINRICPRO_PHYSICAL_INTERACTION)
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendModeEvent() [2/2]

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
bool sendModeEvent (String mode,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send setMode event to SinricPro Server indicating the mode has changed.

+
Parameters
+ + + +
modeString with actual mode device is set to
+ MOVIE, MUSIC, NIGHT, SPORT, TV
cause(optional) String reason why event is sent (default = FSTR_SINRICPRO_PHYSICAL_INTERACTION)
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.js new file mode 100644 index 0000000..f4fef4c --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.js @@ -0,0 +1,7 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller = +[ + [ "onSetMode", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html#a6b15ba168b3a673b98da43ac5e4ef76c", null ], + [ "onSetMode", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html#ada087c948c3ab923bdb7818daa6b2b79", null ], + [ "sendModeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html#a7c84d5c26f2ded88e4941313015f7f4c", null ], + [ "sendModeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html#a41f8465e89d147c08ab8cbc6839d34da", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller__inherit__graph.map new file mode 100644 index 0000000..a3e9199 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller__inherit__graph.md5 new file mode 100644 index 0000000..aacae11 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller__inherit__graph.md5 @@ -0,0 +1 @@ +ea6261405b70814a35cc991be2e1d1cd \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller__inherit__graph.png new file mode 100644 index 0000000..fdcb591 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor-members.html new file mode 100644 index 0000000..8f94dec --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor-members.html @@ -0,0 +1,108 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
MotionSensor< T > Member List
+
+
+ +

This is the complete list of members for MotionSensor< T >, including all inherited members.

+ + +
sendMotionEvent(bool detected, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)MotionSensor< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.html new file mode 100644 index 0000000..8bfdae4 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.html @@ -0,0 +1,184 @@ + + + + + + + +SinricPro Library: MotionSensor< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
MotionSensor< T >
+
+
+ +

MotionSensor. + More...

+ +

#include <MotionSensor.h>

+
+Inheritance diagram for MotionSensor< T >:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+ + + + + +

+Public Member Functions

bool sendMotionEvent (bool detected, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Sending motion detection state to SinricPro server.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::MotionSensor< T >

MotionSensor.

+

Member Function Documentation

+ +

◆ sendMotionEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
bool sendMotionEvent (bool detected,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Sending motion detection state to SinricPro server.

+
Parameters
+ + + +
detectedbool true if motion has been detected
+ 'false' if no motion has been detected
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.js new file mode 100644 index 0000000..4855f60 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.js @@ -0,0 +1,4 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor = +[ + [ "sendMotionEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.html#a9be024aa2bb70f0146a02dd1b79d3faa", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor__inherit__graph.map new file mode 100644 index 0000000..2ef259d --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor__inherit__graph.md5 new file mode 100644 index 0000000..296efb5 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor__inherit__graph.md5 @@ -0,0 +1 @@ +995e9815945e7626907376c32a143894 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor__inherit__graph.png new file mode 100644 index 0000000..6766277 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller-members.html new file mode 100644 index 0000000..88b87c0 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller-members.html @@ -0,0 +1,109 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
MuteController< T > Member List
+
+
+ +

This is the complete list of members for MuteController< T >, including all inherited members.

+ + + +
onMute(MuteCallback cb)MuteController< T >
sendMuteEvent(bool mute, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)MuteController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html new file mode 100644 index 0000000..8178e18 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html @@ -0,0 +1,221 @@ + + + + + + + +SinricPro Library: MuteController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
MuteController< T >
+
+
+ +

MuteController. + More...

+ +

#include <MuteController.h>

+
+Inheritance diagram for MuteController< T >:
+
+
Inheritance graph
+ + + + + + + + + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

void onMute (MuteCallback cb)
 Set callback function for setMute request.
 
bool sendMuteEvent (bool mute, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setMute event to SinricPro Server indicating actual mute state.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::MuteController< T >

MuteController.

+

Member Function Documentation

+ +

◆ onMute()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onMute (MuteCallback cb)
+
+ +

Set callback function for setMute request.

+
Parameters
+ + +
cbFunction pointer to a MuteCallback function
+
+
+
Returns
void
+
See also
MuteCallback
+ +
+
+ +

◆ sendMuteEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
bool sendMuteEvent (bool mute,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send setMute event to SinricPro Server indicating actual mute state.

+
Parameters
+ + + +
mutetrue = device is muted on
+ false = device is unmuted
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.js new file mode 100644 index 0000000..f4aa044 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.js @@ -0,0 +1,5 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller = +[ + [ "onMute", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html#ab5fc79cc8903c3ccc1c106abf61d7cfd", null ], + [ "sendMuteEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html#a4717d892b64a14052712152924bd5b29", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller__inherit__graph.map new file mode 100644 index 0000000..d6abff7 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller__inherit__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller__inherit__graph.md5 new file mode 100644 index 0000000..a97e53b --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller__inherit__graph.md5 @@ -0,0 +1 @@ +22165188f728e1711d13180264f49304 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller__inherit__graph.png new file mode 100644 index 0000000..f93e12b Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller-members.html new file mode 100644 index 0000000..dfa8734 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller-members.html @@ -0,0 +1,110 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
PercentageController< T > Member List
+
+
+ +

This is the complete list of members for PercentageController< T >, including all inherited members.

+ + + + +
onAdjustPercentage(AdjustPercentageCallback cb)PercentageController< T >
onSetPercentage(SetPercentageCallback cb)PercentageController< T >
sendSetPercentageEvent(int percentage, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)PercentageController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html new file mode 100644 index 0000000..d4f9b2f --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html @@ -0,0 +1,237 @@ + + + + + + + +SinricPro Library: PercentageController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
PercentageController< T >
+
+
+ +

PercentageController. + More...

+ +

#include <PercentageController.h>

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

+Public Member Functions

void onSetPercentage (SetPercentageCallback cb)
 Set callback function for setPercentage request.
 
void onAdjustPercentage (AdjustPercentageCallback cb)
 Set callback function for adjustPercentage request.
 
bool sendSetPercentageEvent (int percentage, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setPercentage event to SinricPro Server indicating actual percentage has changed.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::PercentageController< T >

PercentageController.

+

Member Function Documentation

+ +

◆ onAdjustPercentage()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onAdjustPercentage (AdjustPercentageCallback cb)
+
+ +

Set callback function for adjustPercentage request.

+
Parameters
+ + +
cbFunction pointer to a AdjustPercentageCallback function
+
+
+
Returns
void
+
See also
AdjustPercentageCallback
+ +
+
+ +

◆ onSetPercentage()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onSetPercentage (SetPercentageCallback cb)
+
+ +

Set callback function for setPercentage request.

+
Parameters
+ + +
cbFunction pointer to a SetPercentageCallback function
+
+
+
Returns
void
+
See also
SetPercentageCallback
+ +
+
+ +

◆ sendSetPercentageEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
bool sendSetPercentageEvent (int percentage,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send setPercentage event to SinricPro Server indicating actual percentage has changed.

+
Parameters
+ + + +
percentageInteger reporting the percentage that the device have been set to
cause(optional) Reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.js new file mode 100644 index 0000000..d211a48 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.js @@ -0,0 +1,6 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller = +[ + [ "onAdjustPercentage", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html#a77ac70c4880e38dae4f640dceaeb2816", null ], + [ "onSetPercentage", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html#aeef432df118679c689ccd8a48d47dc3d", null ], + [ "sendSetPercentageEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html#adf688c12e451e52b05670f150bdabcc8", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller-members.html new file mode 100644 index 0000000..caa131e --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller-members.html @@ -0,0 +1,110 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
PowerLevelController< T > Member List
+
+
+ +

This is the complete list of members for PowerLevelController< T >, including all inherited members.

+ + + + +
onAdjustPowerLevel(AdjustPowerLevelCallback cb)PowerLevelController< T >
onPowerLevel(SetPowerLevelCallback cb)PowerLevelController< T >
sendPowerLevelEvent(int powerLevel, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)PowerLevelController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html new file mode 100644 index 0000000..b1b4c94 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html @@ -0,0 +1,251 @@ + + + + + + + +SinricPro Library: PowerLevelController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
PowerLevelController< T >
+
+
+ +

PowerLevelController. + More...

+ +

#include <PowerLevelController.h>

+
+Inheritance diagram for PowerLevelController< T >:
+
+
Inheritance graph
+ + + + + + + + + + + +
[legend]
+ + + + + + + + + + + +

+Public Member Functions

void onPowerLevel (SetPowerLevelCallback cb)
 Set callback function for setPowerLevel request.
 
void onAdjustPowerLevel (AdjustPowerLevelCallback cb)
 Set callback function for adjustPowerLevel request.
 
bool sendPowerLevelEvent (int powerLevel, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setPowerLevel event to SinricPro Server indicating actual power level.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::PowerLevelController< T >

PowerLevelController.

+

Member Function Documentation

+ +

◆ onAdjustPowerLevel()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onAdjustPowerLevel (AdjustPowerLevelCallback cb)
+
+ +

Set callback function for adjustPowerLevel request.

+
Parameters
+ + +
cbFunction pointer to a AdjustPowerLevelCallback function
+
+
+
See also
AdjustPowerLevelCallback
+ +
+
+ +

◆ onPowerLevel()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onPowerLevel (SetPowerLevelCallback cb)
+
+ +

Set callback function for setPowerLevel request.

+
Parameters
+ + +
cbFunction pointer to a SetPowerLevelCallback function
+
+
+
See also
SetPowerLevelCallback
+ +
+
+ +

◆ sendPowerLevelEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
bool sendPowerLevelEvent (int powerLevel,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send setPowerLevel event to SinricPro Server indicating actual power level.

+
Parameters
+ + + +
powerLevelinteger 0..100 report the powerlevel that the device have been set to
cause(optional) Reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.js new file mode 100644 index 0000000..68fab9c --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.js @@ -0,0 +1,6 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller = +[ + [ "onAdjustPowerLevel", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html#a13b10bdb1844babe4de320fff9172d96", null ], + [ "onPowerLevel", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html#a0685d34694badb4442fed6b69b69b366", null ], + [ "sendPowerLevelEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html#a2f1f88c7b4d9503bfcfe5557c5e55ed4", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller__inherit__graph.map new file mode 100644 index 0000000..2cecdce --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller__inherit__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller__inherit__graph.md5 new file mode 100644 index 0000000..3ccdb2a --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller__inherit__graph.md5 @@ -0,0 +1 @@ +1547ae8011e9cb21c40d77496a9a6f85 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller__inherit__graph.png new file mode 100644 index 0000000..62ea0bd Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor-members.html new file mode 100644 index 0000000..586e126 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor-members.html @@ -0,0 +1,108 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
PowerSensor< T > Member List
+
+
+ +

This is the complete list of members for PowerSensor< T >, including all inherited members.

+ + +
sendPowerSensorEvent(float voltage, float current, float power=-1.0f, float apparentPower=-1.0f, float reactivePower=-1.0f, float factor=-1.0f, String cause=FSTR_SINRICPRO_PERIODIC_POLL)PowerSensor< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.html new file mode 100644 index 0000000..024511f --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.html @@ -0,0 +1,219 @@ + + + + + + + +SinricPro Library: PowerSensor< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
PowerSensor< T >
+
+
+ +

PowerSensor. + More...

+ +

#include <PowerSensor.h>

+
+Inheritance diagram for PowerSensor< T >:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+ + + + + +

+Public Member Functions

bool sendPowerSensorEvent (float voltage, float current, float power=-1.0f, float apparentPower=-1.0f, float reactivePower=-1.0f, float factor=-1.0f, String cause=FSTR_SINRICPRO_PERIODIC_POLL)
 Send PowerSensor event to SinricPro Server.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::PowerSensor< T >

PowerSensor.

+

Member Function Documentation

+ +

◆ sendPowerSensorEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool sendPowerSensorEvent (float voltage,
float current,
float power = -1.0f,
float apparentPower = -1.0f,
float reactivePower = -1.0f,
float factor = -1.0f,
String cause = FSTR_SINRICPRO_PERIODIC_POLL 
)
+
+ +

Send PowerSensor event to SinricPro Server.

+
Parameters
+ + + + + + + + +
voltagefloat voltage
currentfloat current
powerfloat (optional) if not provided, it is calculated automaticly (power = voltage * current)
apparentPowerfloat (optional) if not provided it is set to -1
reactivePowerfloat (optional) if not provided it is set to -1
factorfloat (optional) if not provided it is set to -1
+ if apparentPower is provided, factor is calculated automaticly (factor = power / apparentPower)
causeString (optional) Reason why event is sent (default = "PERIODIC_POLL")
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.js new file mode 100644 index 0000000..a399886 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.js @@ -0,0 +1,4 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor = +[ + [ "sendPowerSensorEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.html#aec04692842ae1953973503f6be6d9afc", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor__inherit__graph.map new file mode 100644 index 0000000..1c4e483 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor__inherit__graph.md5 new file mode 100644 index 0000000..648b066 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor__inherit__graph.md5 @@ -0,0 +1 @@ +32e295fef183fc48f30b0e34bc54fe26 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor__inherit__graph.png new file mode 100644 index 0000000..446c4bb Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller-members.html new file mode 100644 index 0000000..b575539 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller-members.html @@ -0,0 +1,109 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
PowerStateController< T > Member List
+
+
+ +

This is the complete list of members for PowerStateController< T >, including all inherited members.

+ + + +
onPowerState(PowerStateCallback cb)PowerStateController< T >
sendPowerStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)PowerStateController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html new file mode 100644 index 0000000..264acdf --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html @@ -0,0 +1,261 @@ + + + + + + + +SinricPro Library: PowerStateController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
PowerStateController< T >
+
+
+ +

PowerStateController. + More...

+ +

#include <PowerStateController.h>

+
+Inheritance diagram for PowerStateController< T >:
+
+
Inheritance graph
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

void onPowerState (PowerStateCallback cb)
 Set callback function for powerState request.
 
bool sendPowerStateEvent (bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setPowerState event to SinricPro Server indicating actual power state.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::PowerStateController< T >

PowerStateController.

+

Member Function Documentation

+ +

◆ onPowerState()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onPowerState (PowerStateCallback cb)
+
+ +

Set callback function for powerState request.

+
Parameters
+ + +
cbFunction pointer to a PowerStateCallback function
+
+
+
Returns
void
+
See also
PowerStateCallback
+ +
+
+ +

◆ sendPowerStateEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
bool sendPowerStateEvent (bool state,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send setPowerState event to SinricPro Server indicating actual power state.

+
Parameters
+ + + +
statetrue = device turned on
+ false = device turned off
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.js new file mode 100644 index 0000000..0e90172 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.js @@ -0,0 +1,5 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller = +[ + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html#acfd5f3a30933ace93751bd823630cded", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller__inherit__graph.map new file mode 100644 index 0000000..1e6fd9a --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller__inherit__graph.map @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller__inherit__graph.md5 new file mode 100644 index 0000000..75dc72a --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller__inherit__graph.md5 @@ -0,0 +1 @@ +e4d93c87852fe1ed481df95bfea89291 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller__inherit__graph.png new file mode 100644 index 0000000..2e37566 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification-members.html new file mode 100644 index 0000000..5f25445 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification-members.html @@ -0,0 +1,108 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
PushNotification< T > Member List
+
+
+ +

This is the complete list of members for PushNotification< T >, including all inherited members.

+ + +
sendPushNotification(String notification)PushNotification< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html new file mode 100644 index 0000000..d9ccecf --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html @@ -0,0 +1,244 @@ + + + + + + + +SinricPro Library: PushNotification< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
PushNotification< T >
+
+
+ +

PushNotification. + More...

+ +

#include <PushNotification.h>

+
+Inheritance diagram for PushNotification< T >:
+
+
Inheritance graph
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
[legend]
+ + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::PushNotification< T >

PushNotification.

+

Member Function Documentation

+ +

◆ sendPushNotification()

+ +
+
+
+template<typename T >
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.js new file mode 100644 index 0000000..8b9f2d6 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.js @@ -0,0 +1,4 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification = +[ + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html#a04266791a4b23e9614b8773edb5f67b6", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification__inherit__graph.map new file mode 100644 index 0000000..5b60d00 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification__inherit__graph.map @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification__inherit__graph.md5 new file mode 100644 index 0000000..39fc4d7 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification__inherit__graph.md5 @@ -0,0 +1 @@ +20a3d182b23d3ec70a0beb4e60987a46 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification__inherit__graph.png new file mode 100644 index 0000000..dadcf23 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller-members.html new file mode 100644 index 0000000..ecd92e2 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller-members.html @@ -0,0 +1,112 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
RangeController< T > Member List
+
+
+ +

This is the complete list of members for RangeController< T >, including all inherited members.

+ + + + + + +
onAdjustRangeValue(AdjustRangeValueCallback cb)RangeController< T >
onRangeValue(SetRangeValueCallback cb)RangeController< T >
onRangeValue(const String &instance, GenericSetRangeValueCallback_int cb)RangeController< T >
sendRangeValueEvent(int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)RangeController< T >
sendRangeValueEvent(const String &instance, int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)RangeController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html new file mode 100644 index 0000000..150c729 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html @@ -0,0 +1,355 @@ + + + + + + + +SinricPro Library: RangeController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
RangeController< T >
+
+
+ +

RangeControllerFloatInt. + More...

+ +

#include <RangeController.h>

+
+Inheritance diagram for RangeController< T >:
+
+
Inheritance graph
+ + + + + + + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + +

+Public Member Functions

void onRangeValue (SetRangeValueCallback cb)
 Set callback function for setRangeValue request.
 
void onRangeValue (const String &instance, GenericSetRangeValueCallback_int cb)
 Set callback function for setRangeValue request on a specific instance (custom device)
 
void onAdjustRangeValue (AdjustRangeValueCallback cb)
 Set callback function for adjustRangeValue request.
 
bool sendRangeValueEvent (int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send rangeValue event to report curent rangeValue to SinricPro server.
 
bool sendRangeValueEvent (const String &instance, int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send rangeValue event to report curent rangeValue to SinricPro server for a specific instance (custom device)
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::RangeController< T >

RangeControllerFloatInt.

+

Member Function Documentation

+ +

◆ onAdjustRangeValue()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onAdjustRangeValue (AdjustRangeValueCallback cb)
+
+ +

Set callback function for adjustRangeValue request.

+
Parameters
+ + +
cbFunction pointer to a AdjustRangeValueCallback function
+
+
+
See also
AdjustRangeValueCallback
+ +
+
+ +

◆ onRangeValue() [1/2]

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
void onRangeValue (const String & instance,
GenericSetRangeValueCallback_int cb 
)
+
+ +

Set callback function for setRangeValue request on a specific instance (custom device)

+
Parameters
+ + + +
instanceString instance name (custom device)
cbFunction pointer to a GenericSetRangeValueCallback function
+
+
+
See also
GenericSetRangeValueCallback
+ +
+
+ +

◆ onRangeValue() [2/2]

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onRangeValue (SetRangeValueCallback cb)
+
+ +

Set callback function for setRangeValue request.

+
Parameters
+ + +
cbFunction pointer to a SetRangeValueCallback function
+
+
+
See also
SetRangeValueCallback
+ +
+
+ +

◆ sendRangeValueEvent() [1/2]

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sendRangeValueEvent (const String & instance,
int rangeValue,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send rangeValue event to report curent rangeValue to SinricPro server for a specific instance (custom device)

+
Parameters
+ + + + +
instanceString instance name
rangeValueValue between 0..3
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendRangeValueEvent() [2/2]

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
bool sendRangeValueEvent (int rangeValue,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send rangeValue event to report curent rangeValue to SinricPro server.

+
Parameters
+ + + +
rangeValueValue between 0..3
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.js new file mode 100644 index 0000000..30a749d --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.js @@ -0,0 +1,8 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller = +[ + [ "onAdjustRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#ae85696d55112ae7343f9807faee6e064", null ], + [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#a6d6d8070b49c8b5272460836a1120b33", null ], + [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#a94adbcdf6ce61cb6552a5f9915e705ae", null ], + [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#aaf84aa417e2246843a27e819898e64b5", null ], + [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#a1d726751c416fe6dd408e5dd19f6b53b", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller__inherit__graph.map new file mode 100644 index 0000000..30c2cfd --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller__inherit__graph.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller__inherit__graph.md5 new file mode 100644 index 0000000..886c78c --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller__inherit__graph.md5 @@ -0,0 +1 @@ +0297ace2f93746544e96ccc312479044 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller__inherit__graph.png new file mode 100644 index 0000000..6841662 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor-members.html new file mode 100644 index 0000000..2568c99 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor-members.html @@ -0,0 +1,109 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProAirQualitySensor Member List
+
+
+ +

This is the complete list of members for SinricProAirQualitySensor, including all inherited members.

+ + + +
sendAirQualityEvent(int pm1=0, int pm2_5=0, int pm10=0, String cause=FSTR_SINRICPRO_PERIODIC_POLL)AirQualitySensor< SinricProAirQualitySensor >
sendPushNotification(String notification)PushNotification< SinricProAirQualitySensor >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.html new file mode 100644 index 0000000..fa28f1b --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.html @@ -0,0 +1,253 @@ + + + + + + + +SinricPro Library: SinricProAirQualitySensor + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProAirQualitySensor
+
+
+ +

Device to report air quality events. + More...

+ +

#include <SinricProAirQualitySensor.h>

+
+Inheritance diagram for SinricProAirQualitySensor:
+
+
Inheritance graph
+ + + + + + + + + + + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
bool sendAirQualityEvent (int pm1=0, int pm2_5=0, int pm10=0, String cause=FSTR_SINRICPRO_PERIODIC_POLL)
 Sending air quality to SinricPro server.
 
+

Detailed Description

+

Device to report air quality events.

+

Member Function Documentation

+ +

◆ sendAirQualityEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool sendAirQualityEvent (int pm1 = 0,
int pm2_5 = 0,
int pm10 = 0,
String cause = FSTR_SINRICPRO_PERIODIC_POLL 
)
+
+inherited
+
+ +

Sending air quality to SinricPro server.

+
Parameters
+ + + + + +
pm1int 1.0 μm particle pollutant in μg/m3
pm2_5int 2.5 μm particle pollutant in μg/m3
pm10int 10 μm particle pollutant in μg/m3
cause(optional) String reason why event is sent (default = "PERIODIC_POLL")
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.js new file mode 100644 index 0000000..98b4c27 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.js @@ -0,0 +1,5 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor = +[ + [ "sendAirQualityEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.html#a733195bdc5b15c858e4e890847b3a0d5", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.html#a04266791a4b23e9614b8773edb5f67b6", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor__inherit__graph.map new file mode 100644 index 0000000..42e48ef --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor__inherit__graph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor__inherit__graph.md5 new file mode 100644 index 0000000..57803ee --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor__inherit__graph.md5 @@ -0,0 +1 @@ +b12e4179973ddd1cfb5cbb71b4d2a360 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor__inherit__graph.png new file mode 100644 index 0000000..5376814 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds-members.html new file mode 100644 index 0000000..5f44ac1 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds-members.html @@ -0,0 +1,115 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProBlinds Member List
+
+
+ +

This is the complete list of members for SinricProBlinds, including all inherited members.

+ + + + + + + + + +
onAdjustRangeValue(AdjustRangeValueCallback cb)RangeController< SinricProBlinds >
onPowerState(PowerStateCallback cb)PowerStateController< SinricProBlinds >
onRangeValue(SetRangeValueCallback cb)RangeController< SinricProBlinds >
onRangeValue(const String &instance, GenericSetRangeValueCallback_int cb)RangeController< SinricProBlinds >
sendPowerStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)PowerStateController< SinricProBlinds >
sendPushNotification(String notification)PushNotification< SinricProBlinds >
sendRangeValueEvent(int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)RangeController< SinricProBlinds >
sendRangeValueEvent(const String &instance, int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)RangeController< SinricProBlinds >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html new file mode 100644 index 0000000..d6d2f6a --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html @@ -0,0 +1,532 @@ + + + + + + + +SinricPro Library: SinricProBlinds + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProBlinds
+
+
+ +

Device to control interior blinds. + More...

+ +

#include <SinricProBlinds.h>

+
+Inheritance diagram for SinricProBlinds:
+
+
Inheritance graph
+ + + + + + + + + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
void onPowerState (PowerStateCallback cb)
 Set callback function for powerState request.
 
bool sendPowerStateEvent (bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setPowerState event to SinricPro Server indicating actual power state.
 
void onRangeValue (SetRangeValueCallback cb)
 Set callback function for setRangeValue request.
 
void onRangeValue (const String &instance, GenericSetRangeValueCallback_int cb)
 Set callback function for setRangeValue request on a specific instance (custom device)
 
void onAdjustRangeValue (AdjustRangeValueCallback cb)
 Set callback function for adjustRangeValue request.
 
bool sendRangeValueEvent (int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send rangeValue event to report curent rangeValue to SinricPro server.
 
bool sendRangeValueEvent (const String &instance, int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send rangeValue event to report curent rangeValue to SinricPro server for a specific instance (custom device)
 
+

Detailed Description

+

Device to control interior blinds.

+

Supporting

    +
  • On / Off
  • +
  • Position (0..100)
  • +
  • open / close
  • +
+

Member Function Documentation

+ +

◆ onAdjustRangeValue()

+ +
+
+ + + + + +
+ + + + + + + + +
void onAdjustRangeValue (AdjustRangeValueCallback cb)
+
+inherited
+
+ +

Set callback function for adjustRangeValue request.

+
Parameters
+ + +
cbFunction pointer to a AdjustRangeValueCallback function
+
+
+
See also
AdjustRangeValueCallback
+ +
+
+ +

◆ onPowerState()

+ +
+
+ + + + + +
+ + + + + + + + +
void onPowerState (PowerStateCallback cb)
+
+inherited
+
+ +

Set callback function for powerState request.

+
Parameters
+ + +
cbFunction pointer to a PowerStateCallback function
+
+
+
Returns
void
+
See also
PowerStateCallback
+ +
+
+ +

◆ onRangeValue() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void onRangeValue (const String & instance,
GenericSetRangeValueCallback_int cb 
)
+
+inherited
+
+ +

Set callback function for setRangeValue request on a specific instance (custom device)

+
Parameters
+ + + +
instanceString instance name (custom device)
cbFunction pointer to a GenericSetRangeValueCallback function
+
+
+
See also
GenericSetRangeValueCallback
+ +
+
+ +

◆ onRangeValue() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void onRangeValue (SetRangeValueCallback cb)
+
+inherited
+
+ +

Set callback function for setRangeValue request.

+
Parameters
+ + +
cbFunction pointer to a SetRangeValueCallback function
+
+
+
See also
SetRangeValueCallback
+ +
+
+ +

◆ sendPowerStateEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendPowerStateEvent (bool state,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setPowerState event to SinricPro Server indicating actual power state.

+
Parameters
+ + + +
statetrue = device turned on
+ false = device turned off
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendRangeValueEvent() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sendRangeValueEvent (const String & instance,
int rangeValue,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send rangeValue event to report curent rangeValue to SinricPro server for a specific instance (custom device)

+
Parameters
+ + + + +
instanceString instance name
rangeValueValue between 0..3
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendRangeValueEvent() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendRangeValueEvent (int rangeValue,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send rangeValue event to report curent rangeValue to SinricPro server.

+
Parameters
+ + + +
rangeValueValue between 0..3
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.js new file mode 100644 index 0000000..d363d36 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.js @@ -0,0 +1,11 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds = +[ + [ "onAdjustRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#ae85696d55112ae7343f9807faee6e064", null ], + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#a6d6d8070b49c8b5272460836a1120b33", null ], + [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#a94adbcdf6ce61cb6552a5f9915e705ae", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#a04266791a4b23e9614b8773edb5f67b6", null ], + [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#aaf84aa417e2246843a27e819898e64b5", null ], + [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#a1d726751c416fe6dd408e5dd19f6b53b", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds__inherit__graph.map new file mode 100644 index 0000000..cb3095b --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds__inherit__graph.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds__inherit__graph.md5 new file mode 100644 index 0000000..7576cc1 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds__inherit__graph.md5 @@ -0,0 +1 @@ +a918a66d557ceb273ef14e7e4de3d671 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds__inherit__graph.png new file mode 100644 index 0000000..96c3828 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera-members.html new file mode 100644 index 0000000..c18fe69 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera-members.html @@ -0,0 +1,110 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProCamera Member List
+
+
+ +

This is the complete list of members for SinricProCamera, including all inherited members.

+ + + + +
onPowerState(PowerStateCallback cb)PowerStateController< SinricProCamera >
sendPowerStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)PowerStateController< SinricProCamera >
sendPushNotification(String notification)PushNotification< SinricProCamera >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html new file mode 100644 index 0000000..b2a1cc8 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html @@ -0,0 +1,279 @@ + + + + + + + +SinricPro Library: SinricProCamera + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProCamera
+
+
+ +

Camera suporting basic on / off command. + More...

+ +

#include <SinricProCamera.h>

+
+Inheritance diagram for SinricProCamera:
+
+
Inheritance graph
+ + + + + + + + + + + + + +
[legend]
+ + + + + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
void onPowerState (PowerStateCallback cb)
 Set callback function for powerState request.
 
bool sendPowerStateEvent (bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setPowerState event to SinricPro Server indicating actual power state.
 
+

Detailed Description

+

Camera suporting basic on / off command.

+

Member Function Documentation

+ +

◆ onPowerState()

+ +
+
+ + + + + +
+ + + + + + + + +
void onPowerState (PowerStateCallback cb)
+
+inherited
+
+ +

Set callback function for powerState request.

+
Parameters
+ + +
cbFunction pointer to a PowerStateCallback function
+
+
+
Returns
void
+
See also
PowerStateCallback
+ +
+
+ +

◆ sendPowerStateEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendPowerStateEvent (bool state,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setPowerState event to SinricPro Server indicating actual power state.

+
Parameters
+ + + +
statetrue = device turned on
+ false = device turned off
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.js new file mode 100644 index 0000000..4bef750 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.js @@ -0,0 +1,6 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera = +[ + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html#a04266791a4b23e9614b8773edb5f67b6", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera__inherit__graph.map new file mode 100644 index 0000000..733ec77 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera__inherit__graph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera__inherit__graph.md5 new file mode 100644 index 0000000..6fa2d74 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera__inherit__graph.md5 @@ -0,0 +1 @@ +81c5611258fcd93c435c36d85c0c3e3e \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera__inherit__graph.png new file mode 100644 index 0000000..865be58 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class-members.html new file mode 100644 index 0000000..ea1bef8 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class-members.html @@ -0,0 +1,114 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProClass Member List
+
+
+ +

This is the complete list of members for SinricProClass, including all inherited members.

+ + + + + + + + +
begin(String appKey, String appSecret, String serverURL="ws.sinric.pro")SinricProClass
getTimestamp() overrideSinricProClass
handle()SinricProClass
onConnected(ConnectedCallbackHandler cb)SinricProClass
onDisconnected(DisconnectedCallbackHandler cb)SinricProClass
operator[](const String deviceId)SinricProClass
restoreDeviceStates(bool flag)SinricProClass
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html new file mode 100644 index 0000000..44b9e3a --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html @@ -0,0 +1,386 @@ + + + + + + + +SinricPro Library: SinricProClass + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProClass
+
+
+ +

The main class of this library, handling communication between SinricPro Server and your devices. + More...

+ +

#include <SinricPro.h>

+ +

Inherits SinricProInterface.

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

+Public Member Functions

void begin (String appKey, String appSecret, String serverURL="ws.sinric.pro")
 Initializing SinricProClass to be able to connect to SinricPro Server.
 
void handle ()
 Handles communication between device and SinricPro Server.
 
void onConnected (ConnectedCallbackHandler cb)
 Set callback function for websocket connected event.
 
void onDisconnected (DisconnectedCallbackHandler cb)
 Set callback function for websocket disconnected event.
 
void restoreDeviceStates (bool flag)
 Enable / disable restore device states function.
 
unsigned long getTimestamp () override
 Get the current timestamp.
 
Proxy operator[] (const String deviceId)
 operator[] is used tor create a new device instance or get an existing device instance
 
+

Detailed Description

+

The main class of this library, handling communication between SinricPro Server and your devices.

+

Member Function Documentation

+ +

◆ begin()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void begin (String appKey,
String appSecret,
String serverURL = "ws.sinric.pro" 
)
+
+ +

Initializing SinricProClass to be able to connect to SinricPro Server.

+
Parameters
+ + + + +
appKeyString containing APP_KEY (see credentials from https://sinric.pro )
appSecretString containing APP_SECRET (see credentials from https:://sinric.pro)
serverURLString containing SinricPro Server URL (default="ws.sinric.pro")
+
+
+

+Example-Code

+
#define APP_KEY "YOUR-APP-KEY" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
+
#define APP_SECRET "YOUR-APP-SECRET" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"
+
+
void setup() {
+
SinricPro.begin(APP_KEY, APP_SECRET);
+
}
+
AirQuality.
Definition AirQualitySensor.h:19
+
void begin(String appKey, String appSecret, String serverURL="ws.sinric.pro")
Initializing SinricProClass to be able to connect to SinricPro Server.
Definition SinricPro.h:176
+
+
+
+ +

◆ getTimestamp()

+ +
+
+ + + + + +
+ + + + + + + +
unsigned long getTimestamp ()
+
+override
+
+ +

Get the current timestamp.

+
Returns
unsigned long current timestamp (unix epoch time)
+ +
+
+ +

◆ handle()

+ +
+
+ + + + + + + +
void handle ()
+
+ +

Handles communication between device and SinricPro Server.

+

This is the absolute main function which handles communication between your device and SinricPro Server.
+It is responsible for connect, disconnect to SinricPro Server, handling requests, responses and events.
+This function has to be called as often as possible. So it must be called in your main loop() function!
+ For proper function, begin() must be called with valid values for 'APP_KEY' and 'APP_SECRET'
+

+

+Example-Code

+
void loop() {
+
SinricPro.handle();
+
}
+
void handle()
Handles communication between device and SinricPro Server.
Definition SinricPro.h:234
+
+
+
+ +

◆ onConnected()

+ +
+
+ + + + + + + + +
void onConnected (ConnectedCallbackHandler cb)
+
+ +

Set callback function for websocket connected event.

+
Parameters
+ + +
cbFunction pointer to a ConnectedCallbackHandler function
+
+
+
Returns
void
+
See also
ConnectedCallbackHandler
+

+Example-Code

+
SinricPro.onConnected([](){ Serial.printf("Connected to SinricPro\r\n"); });
+
void onConnected(ConnectedCallbackHandler cb)
Set callback function for websocket connected event.
Definition SinricPro.h:430
+
+
+
+ +

◆ onDisconnected()

+ +
+
+ + + + + + + + +
void onDisconnected (DisconnectedCallbackHandler cb)
+
+ +

Set callback function for websocket disconnected event.

+
Parameters
+ + +
cbFunction pointer to a DisconnectedCallbackHandler function
+
+
+
Returns
void
+
See also
DisconnectedCallbackHandler
+

+Example-Code

+
SinricPro.onDisconnected([](){ Serial.printf("Disconnected from SinricPro\r\n"); });
+
void onDisconnected(DisconnectedCallbackHandler cb)
Set callback function for websocket disconnected event.
Definition SinricPro.h:443
+
+
+
+ +

◆ operator[]()

+ +
+
+ + + + + + + + +
SinricProClass::Proxy operator[] (const String deviceId)
+
+ +

operator[] is used tor create a new device instance or get an existing device instance

+

If the device is unknown to SinricProClass it will create a new device instance

Parameters
+ + +
deviceIda String containing deviceId for device that have to been created or retreived
+
+
+
Returns
returns a proxy object representing the reference to a device derrivered from SinricProDevice
+

+Syntax

+

<DeviceType> &reference = SinricPro[<DEVICE_ID>];

+

+[] Example-Code

+
#define SWITCH_ID "YOUR-DEVICE-ID" // Should look like "5dc1564130xxxxxxxxxxxxxx"
+
..
+ +
..
+
Device suporting basic on / off command.
Definition SinricProSwitch.h:26
+
+
+
+ +

◆ restoreDeviceStates()

+ +
+
+ + + + + + + + +
void restoreDeviceStates (bool flag)
+
+ +

Enable / disable restore device states function.

+

If this flag is enabled (true), SinricProServer will send last known device states to your device directly after connection to SinricPro server has been established.
+For every state the corresponding callback (like onPowerState) will be called
+This is useful after a power failure / reboot of your device.

+
Parameters
+ + +
flagtrue = enabled
+ false= disabled
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.js new file mode 100644 index 0000000..b61c144 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.js @@ -0,0 +1,10 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class = +[ + [ "begin", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#a1b5b66fb0c539b9b5f5f58a135056c75", null ], + [ "getTimestamp", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#afb2be26eef972203404140612fa31326", null ], + [ "handle", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#a37c2d0658e498b1bf878f8a3d9a7c5b4", null ], + [ "onConnected", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#ac33a355adfc413d4ff36974d735115bd", null ], + [ "onDisconnected", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#a654bb017ca55b448d55bb36e0346f38a", null ], + [ "operator[]", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#ab68694b0983ae36c532cbd52adbb180d", null ], + [ "restoreDeviceStates", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#a27a9bb7f1e8bde0f39398649493b6f93", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor-members.html new file mode 100644 index 0000000..99d218c --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor-members.html @@ -0,0 +1,109 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProContactsensor Member List
+
+
+ +

This is the complete list of members for SinricProContactsensor, including all inherited members.

+ + + +
sendContactEvent(bool detected, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ContactSensor< SinricProContactsensor >
sendPushNotification(String notification)PushNotification< SinricProContactsensor >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.html new file mode 100644 index 0000000..699d9fc --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.html @@ -0,0 +1,235 @@ + + + + + + + +SinricPro Library: SinricProContactsensor + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProContactsensor
+
+
+ +

Device to report contact sensor events. + More...

+ +

#include <SinricProContactsensor.h>

+
+Inheritance diagram for SinricProContactsensor:
+
+
Inheritance graph
+ + + + + + + + + + + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
bool sendContactEvent (bool detected, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setContactState event to SinricPro Server indicating actual power state.
 
+

Detailed Description

+

Device to report contact sensor events.

+

Member Function Documentation

+ +

◆ sendContactEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendContactEvent (bool detected,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setContactState event to SinricPro Server indicating actual power state.

+
Parameters
+ + + +
detected[in] booltrue = contact is closed
+ [in] false = contact is open
cause[in] String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
true event has been sent successfully
+
+false event has not been sent, maybe you sent to much events in a short distance of time
+ +
+
+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.js new file mode 100644 index 0000000..a8097d7 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.js @@ -0,0 +1,5 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor = +[ + [ "sendContactEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.html#a452a4cfa3177d8d8d31c5919e9ccbb19", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.html#a04266791a4b23e9614b8773edb5f67b6", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor__inherit__graph.map new file mode 100644 index 0000000..787a527 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor__inherit__graph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor__inherit__graph.md5 new file mode 100644 index 0000000..925fa8f --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor__inherit__graph.md5 @@ -0,0 +1 @@ +4974d91f0d4e2f2ed8ee0bd372d3eb94 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor__inherit__graph.png new file mode 100644 index 0000000..1a8d7ce Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device-members.html new file mode 100644 index 0000000..859fe38 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device-members.html @@ -0,0 +1,106 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProDevice Member List
+
+
+ +

This is the complete list of members for SinricProDevice, including all inherited members.

+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device.html new file mode 100644 index 0000000..4e8d449 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device.html @@ -0,0 +1,162 @@ + + + + + + + +SinricPro Library: SinricProDevice + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProDevice
+
+
+ +

Base class for all device types. + More...

+ +

#include <SinricProDevice.h>

+
+Inheritance diagram for SinricProDevice:
+
+
Inheritance graph
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
[legend]
+

Detailed Description

+

Base class for all device types.

+

Supporting base functions which needed by all device types to work with SinricProClass
+Implements basic on/off functions like onPowerState and sendPowerStateEvent

+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device__inherit__graph.map new file mode 100644 index 0000000..c1bbf86 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device__inherit__graph.map @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device__inherit__graph.md5 new file mode 100644 index 0000000..a40ee1d --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device__inherit__graph.md5 @@ -0,0 +1 @@ +760621c7dfb83d93b805e24fe893447d \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device__inherit__graph.png new file mode 100644 index 0000000..1899644 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch-members.html new file mode 100644 index 0000000..c9bd847 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch-members.html @@ -0,0 +1,113 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProDimSwitch Member List
+
+
+ +

This is the complete list of members for SinricProDimSwitch, including all inherited members.

+ + + + + + + +
onAdjustPowerLevel(AdjustPowerLevelCallback cb)PowerLevelController< SinricProDimSwitch >
onPowerLevel(SetPowerLevelCallback cb)PowerLevelController< SinricProDimSwitch >
onPowerState(PowerStateCallback cb)PowerStateController< SinricProDimSwitch >
sendPowerLevelEvent(int powerLevel, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)PowerLevelController< SinricProDimSwitch >
sendPowerStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)PowerStateController< SinricProDimSwitch >
sendPushNotification(String notification)PushNotification< SinricProDimSwitch >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html new file mode 100644 index 0000000..5e967b7 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html @@ -0,0 +1,415 @@ + + + + + + + +SinricPro Library: SinricProDimSwitch + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProDimSwitch
+
+
+ +

Device which supports on / off and dimming commands. + More...

+ +

#include <SinricProDimSwitch.h>

+
+Inheritance diagram for SinricProDimSwitch:
+
+
Inheritance graph
+ + + + + + + + + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
void onPowerState (PowerStateCallback cb)
 Set callback function for powerState request.
 
bool sendPowerStateEvent (bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setPowerState event to SinricPro Server indicating actual power state.
 
void onPowerLevel (SetPowerLevelCallback cb)
 Set callback function for setPowerLevel request.
 
void onAdjustPowerLevel (AdjustPowerLevelCallback cb)
 Set callback function for adjustPowerLevel request.
 
bool sendPowerLevelEvent (int powerLevel, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setPowerLevel event to SinricPro Server indicating actual power level.
 
+

Detailed Description

+

Device which supports on / off and dimming commands.

+

Member Function Documentation

+ +

◆ onAdjustPowerLevel()

+ +
+
+ + + + + +
+ + + + + + + + +
void onAdjustPowerLevel (AdjustPowerLevelCallback cb)
+
+inherited
+
+ +

Set callback function for adjustPowerLevel request.

+
Parameters
+ + +
cbFunction pointer to a AdjustPowerLevelCallback function
+
+
+
See also
AdjustPowerLevelCallback
+ +
+
+ +

◆ onPowerLevel()

+ +
+
+ + + + + +
+ + + + + + + + +
void onPowerLevel (SetPowerLevelCallback cb)
+
+inherited
+
+ +

Set callback function for setPowerLevel request.

+
Parameters
+ + +
cbFunction pointer to a SetPowerLevelCallback function
+
+
+
See also
SetPowerLevelCallback
+ +
+
+ +

◆ onPowerState()

+ +
+
+ + + + + +
+ + + + + + + + +
void onPowerState (PowerStateCallback cb)
+
+inherited
+
+ +

Set callback function for powerState request.

+
Parameters
+ + +
cbFunction pointer to a PowerStateCallback function
+
+
+
Returns
void
+
See also
PowerStateCallback
+ +
+
+ +

◆ sendPowerLevelEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendPowerLevelEvent (int powerLevel,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setPowerLevel event to SinricPro Server indicating actual power level.

+
Parameters
+ + + +
powerLevelinteger 0..100 report the powerlevel that the device have been set to
cause(optional) Reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPowerStateEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendPowerStateEvent (bool state,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setPowerState event to SinricPro Server indicating actual power state.

+
Parameters
+ + + +
statetrue = device turned on
+ false = device turned off
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.js new file mode 100644 index 0000000..fc8d30b --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.js @@ -0,0 +1,9 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch = +[ + [ "onAdjustPowerLevel", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html#a13b10bdb1844babe4de320fff9172d96", null ], + [ "onPowerLevel", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html#a0685d34694badb4442fed6b69b69b366", null ], + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "sendPowerLevelEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html#a2f1f88c7b4d9503bfcfe5557c5e55ed4", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html#a04266791a4b23e9614b8773edb5f67b6", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch__inherit__graph.map new file mode 100644 index 0000000..7f488b4 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch__inherit__graph.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch__inherit__graph.md5 new file mode 100644 index 0000000..4f99db7 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch__inherit__graph.md5 @@ -0,0 +1 @@ +412d9a16e4164a0e53f5d30f2e0b99ca \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch__inherit__graph.png new file mode 100644 index 0000000..14a7b06 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell-members.html new file mode 100644 index 0000000..f85cba3 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell-members.html @@ -0,0 +1,111 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProDoorbell Member List
+
+
+ +

This is the complete list of members for SinricProDoorbell, including all inherited members.

+ + + + + +
onPowerState(PowerStateCallback cb)PowerStateController< SinricProDoorbell >
sendDoorbellEvent(String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)Doorbell< SinricProDoorbell >
sendPowerStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)PowerStateController< SinricProDoorbell >
sendPushNotification(String notification)PushNotification< SinricProDoorbell >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html new file mode 100644 index 0000000..11a1459 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html @@ -0,0 +1,328 @@ + + + + + + + +SinricPro Library: SinricProDoorbell + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProDoorbell
+
+
+ +

Device to report doorbell events. + More...

+ +

#include <SinricProDoorbell.h>

+
+Inheritance diagram for SinricProDoorbell:
+
+
Inheritance graph
+ + + + + + + + + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
void onPowerState (PowerStateCallback cb)
 Set callback function for powerState request.
 
bool sendPowerStateEvent (bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setPowerState event to SinricPro Server indicating actual power state.
 
bool sendDoorbellEvent (String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send Doorbell event to SinricPro Server indicating someone pressed the doorbell button.
 
+

Detailed Description

+

Device to report doorbell events.

+

Member Function Documentation

+ +

◆ onPowerState()

+ +
+
+ + + + + +
+ + + + + + + + +
void onPowerState (PowerStateCallback cb)
+
+inherited
+
+ +

Set callback function for powerState request.

+
Parameters
+ + +
cbFunction pointer to a PowerStateCallback function
+
+
+
Returns
void
+
See also
PowerStateCallback
+ +
+
+ +

◆ sendDoorbellEvent()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendDoorbellEvent (String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION)
+
+inherited
+
+ +

Send Doorbell event to SinricPro Server indicating someone pressed the doorbell button.

+
Parameters
+ + +
causeString (optional) Reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPowerStateEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendPowerStateEvent (bool state,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setPowerState event to SinricPro Server indicating actual power state.

+
Parameters
+ + + +
statetrue = device turned on
+ false = device turned off
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.js new file mode 100644 index 0000000..fe69281 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.js @@ -0,0 +1,7 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell = +[ + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "sendDoorbellEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html#a168f5a4ddcbf381fd548bf10ee05b272", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html#a04266791a4b23e9614b8773edb5f67b6", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell__inherit__graph.map new file mode 100644 index 0000000..a31f187 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell__inherit__graph.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell__inherit__graph.md5 new file mode 100644 index 0000000..01b00d5 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell__inherit__graph.md5 @@ -0,0 +1 @@ +d64c7f3487e4580b7ade6d4e03fa9c1b \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell__inherit__graph.png new file mode 100644 index 0000000..2e68a4a Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan-members.html new file mode 100644 index 0000000..391dfcc --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan-members.html @@ -0,0 +1,113 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProFan Member List
+
+
+ +

This is the complete list of members for SinricProFan, including all inherited members.

+ + + + + + + +
onAdjustPowerLevel(AdjustPowerLevelCallback cb)PowerLevelController< SinricProFan >
onPowerLevel(SetPowerLevelCallback cb)PowerLevelController< SinricProFan >
onPowerState(PowerStateCallback cb)PowerStateController< SinricProFan >
sendPowerLevelEvent(int powerLevel, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)PowerLevelController< SinricProFan >
sendPowerStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)PowerStateController< SinricProFan >
sendPushNotification(String notification)PushNotification< SinricProFan >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html new file mode 100644 index 0000000..794b90e --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html @@ -0,0 +1,415 @@ + + + + + + + +SinricPro Library: SinricProFan + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProFan
+
+
+ +

Device to turn on / off a fan and change it's speed by using powerlevel. + More...

+ +

#include <SinricProFan.h>

+
+Inheritance diagram for SinricProFan:
+
+
Inheritance graph
+ + + + + + + + + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
void onPowerState (PowerStateCallback cb)
 Set callback function for powerState request.
 
bool sendPowerStateEvent (bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setPowerState event to SinricPro Server indicating actual power state.
 
void onPowerLevel (SetPowerLevelCallback cb)
 Set callback function for setPowerLevel request.
 
void onAdjustPowerLevel (AdjustPowerLevelCallback cb)
 Set callback function for adjustPowerLevel request.
 
bool sendPowerLevelEvent (int powerLevel, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setPowerLevel event to SinricPro Server indicating actual power level.
 
+

Detailed Description

+

Device to turn on / off a fan and change it's speed by using powerlevel.

+

Member Function Documentation

+ +

◆ onAdjustPowerLevel()

+ +
+
+ + + + + +
+ + + + + + + + +
void onAdjustPowerLevel (AdjustPowerLevelCallback cb)
+
+inherited
+
+ +

Set callback function for adjustPowerLevel request.

+
Parameters
+ + +
cbFunction pointer to a AdjustPowerLevelCallback function
+
+
+
See also
AdjustPowerLevelCallback
+ +
+
+ +

◆ onPowerLevel()

+ +
+
+ + + + + +
+ + + + + + + + +
void onPowerLevel (SetPowerLevelCallback cb)
+
+inherited
+
+ +

Set callback function for setPowerLevel request.

+
Parameters
+ + +
cbFunction pointer to a SetPowerLevelCallback function
+
+
+
See also
SetPowerLevelCallback
+ +
+
+ +

◆ onPowerState()

+ +
+
+ + + + + +
+ + + + + + + + +
void onPowerState (PowerStateCallback cb)
+
+inherited
+
+ +

Set callback function for powerState request.

+
Parameters
+ + +
cbFunction pointer to a PowerStateCallback function
+
+
+
Returns
void
+
See also
PowerStateCallback
+ +
+
+ +

◆ sendPowerLevelEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendPowerLevelEvent (int powerLevel,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setPowerLevel event to SinricPro Server indicating actual power level.

+
Parameters
+ + + +
powerLevelinteger 0..100 report the powerlevel that the device have been set to
cause(optional) Reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPowerStateEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendPowerStateEvent (bool state,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setPowerState event to SinricPro Server indicating actual power state.

+
Parameters
+ + + +
statetrue = device turned on
+ false = device turned off
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.js new file mode 100644 index 0000000..1204241 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.js @@ -0,0 +1,9 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan = +[ + [ "onAdjustPowerLevel", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html#a13b10bdb1844babe4de320fff9172d96", null ], + [ "onPowerLevel", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html#a0685d34694badb4442fed6b69b69b366", null ], + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "sendPowerLevelEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html#a2f1f88c7b4d9503bfcfe5557c5e55ed4", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html#a04266791a4b23e9614b8773edb5f67b6", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan__inherit__graph.map new file mode 100644 index 0000000..2ea7523 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan__inherit__graph.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan__inherit__graph.md5 new file mode 100644 index 0000000..e8b5121 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan__inherit__graph.md5 @@ -0,0 +1 @@ +40aebefe191dc232dae40c0c94d051eb \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan__inherit__graph.png new file mode 100644 index 0000000..3b9795b Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s-members.html new file mode 100644 index 0000000..5cf46e9 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s-members.html @@ -0,0 +1,115 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProFanUS Member List
+
+
+ +

This is the complete list of members for SinricProFanUS, including all inherited members.

+ + + + + + + + + +
onAdjustRangeValue(AdjustRangeValueCallback cb)RangeController< SinricProFanUS >
onPowerState(PowerStateCallback cb)PowerStateController< SinricProFanUS >
onRangeValue(SetRangeValueCallback cb)RangeController< SinricProFanUS >
onRangeValue(const String &instance, GenericSetRangeValueCallback_int cb)RangeController< SinricProFanUS >
sendPowerStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)PowerStateController< SinricProFanUS >
sendPushNotification(String notification)PushNotification< SinricProFanUS >
sendRangeValueEvent(int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)RangeController< SinricProFanUS >
sendRangeValueEvent(const String &instance, int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)RangeController< SinricProFanUS >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html new file mode 100644 index 0000000..db2dfa5 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html @@ -0,0 +1,527 @@ + + + + + + + +SinricPro Library: SinricProFanUS + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProFanUS
+
+
+ +

Device to control a fan with on / off commands and its speed by a range value. + More...

+ +

#include <SinricProFanUS.h>

+
+Inheritance diagram for SinricProFanUS:
+
+
Inheritance graph
+ + + + + + + + + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
void onPowerState (PowerStateCallback cb)
 Set callback function for powerState request.
 
bool sendPowerStateEvent (bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setPowerState event to SinricPro Server indicating actual power state.
 
void onRangeValue (SetRangeValueCallback cb)
 Set callback function for setRangeValue request.
 
void onRangeValue (const String &instance, GenericSetRangeValueCallback_int cb)
 Set callback function for setRangeValue request on a specific instance (custom device)
 
void onAdjustRangeValue (AdjustRangeValueCallback cb)
 Set callback function for adjustRangeValue request.
 
bool sendRangeValueEvent (int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send rangeValue event to report curent rangeValue to SinricPro server.
 
bool sendRangeValueEvent (const String &instance, int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send rangeValue event to report curent rangeValue to SinricPro server for a specific instance (custom device)
 
+

Detailed Description

+

Device to control a fan with on / off commands and its speed by a range value.

+

Member Function Documentation

+ +

◆ onAdjustRangeValue()

+ +
+
+ + + + + +
+ + + + + + + + +
void onAdjustRangeValue (AdjustRangeValueCallback cb)
+
+inherited
+
+ +

Set callback function for adjustRangeValue request.

+
Parameters
+ + +
cbFunction pointer to a AdjustRangeValueCallback function
+
+
+
See also
AdjustRangeValueCallback
+ +
+
+ +

◆ onPowerState()

+ +
+
+ + + + + +
+ + + + + + + + +
void onPowerState (PowerStateCallback cb)
+
+inherited
+
+ +

Set callback function for powerState request.

+
Parameters
+ + +
cbFunction pointer to a PowerStateCallback function
+
+
+
Returns
void
+
See also
PowerStateCallback
+ +
+
+ +

◆ onRangeValue() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void onRangeValue (const String & instance,
GenericSetRangeValueCallback_int cb 
)
+
+inherited
+
+ +

Set callback function for setRangeValue request on a specific instance (custom device)

+
Parameters
+ + + +
instanceString instance name (custom device)
cbFunction pointer to a GenericSetRangeValueCallback function
+
+
+
See also
GenericSetRangeValueCallback
+ +
+
+ +

◆ onRangeValue() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void onRangeValue (SetRangeValueCallback cb)
+
+inherited
+
+ +

Set callback function for setRangeValue request.

+
Parameters
+ + +
cbFunction pointer to a SetRangeValueCallback function
+
+
+
See also
SetRangeValueCallback
+ +
+
+ +

◆ sendPowerStateEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendPowerStateEvent (bool state,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setPowerState event to SinricPro Server indicating actual power state.

+
Parameters
+ + + +
statetrue = device turned on
+ false = device turned off
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendRangeValueEvent() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sendRangeValueEvent (const String & instance,
int rangeValue,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send rangeValue event to report curent rangeValue to SinricPro server for a specific instance (custom device)

+
Parameters
+ + + + +
instanceString instance name
rangeValueValue between 0..3
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendRangeValueEvent() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendRangeValueEvent (int rangeValue,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send rangeValue event to report curent rangeValue to SinricPro server.

+
Parameters
+ + + +
rangeValueValue between 0..3
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.js new file mode 100644 index 0000000..1d64c48 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.js @@ -0,0 +1,11 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s = +[ + [ "onAdjustRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#ae85696d55112ae7343f9807faee6e064", null ], + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#a6d6d8070b49c8b5272460836a1120b33", null ], + [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#a94adbcdf6ce61cb6552a5f9915e705ae", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#a04266791a4b23e9614b8773edb5f67b6", null ], + [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#aaf84aa417e2246843a27e819898e64b5", null ], + [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#a1d726751c416fe6dd408e5dd19f6b53b", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s__inherit__graph.map new file mode 100644 index 0000000..e7d1cf3 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s__inherit__graph.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s__inherit__graph.md5 new file mode 100644 index 0000000..5e5742d --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s__inherit__graph.md5 @@ -0,0 +1 @@ +8396651cb2a8d6155972479fc8a73eb6 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s__inherit__graph.png new file mode 100644 index 0000000..a9f4c36 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door-members.html new file mode 100644 index 0000000..23a5147 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door-members.html @@ -0,0 +1,110 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProGarageDoor Member List
+
+
+ +

This is the complete list of members for SinricProGarageDoor, including all inherited members.

+ + + + +
onDoorState(DoorCallback cb)DoorController< SinricProGarageDoor >
sendDoorStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)DoorController< SinricProGarageDoor >
sendPushNotification(String notification)PushNotification< SinricProGarageDoor >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html new file mode 100644 index 0000000..71dd3a9 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html @@ -0,0 +1,282 @@ + + + + + + + +SinricPro Library: SinricProGarageDoor + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProGarageDoor
+
+
+ +

Device to control a garage door. + More...

+ +

#include <SinricProGarageDoor.h>

+
+Inheritance diagram for SinricProGarageDoor:
+
+
Inheritance graph
+ + + + + + + + + + + + + +
[legend]
+ + + + + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
void onDoorState (DoorCallback cb)
 Set callback function for onDoorState request.
 
bool sendDoorStateEvent (bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send DoorState event to update actual door state on SinricPro Server.
 
+

Detailed Description

+

Device to control a garage door.

+

Supporting

    +
  • open / close
  • +
+

Member Function Documentation

+ +

◆ onDoorState()

+ +
+
+ + + + + +
+ + + + + + + + +
void onDoorState (DoorCallback cb)
+
+inherited
+
+ +

Set callback function for onDoorState request.

+
Parameters
+ + +
cbFunction pointer to a onDoorState function
+
+
+
Returns
void
+
See also
DoorStateCallback
+ +
+
+ +

◆ sendDoorStateEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendDoorStateEvent (bool state,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send DoorState event to update actual door state on SinricPro Server.

+
Parameters
+ + + +
statebool true = close
+ false = open
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.js new file mode 100644 index 0000000..54a4b5c --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.js @@ -0,0 +1,6 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door = +[ + [ "onDoorState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html#a6b536531ab89b39f1a48cb107e22185e", null ], + [ "sendDoorStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html#a375cda2b0bc05e1a66e3bc29d059d9a7", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html#a04266791a4b23e9614b8773edb5f67b6", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door__inherit__graph.map new file mode 100644 index 0000000..d2ca3c0 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door__inherit__graph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door__inherit__graph.md5 new file mode 100644 index 0000000..467a092 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door__inherit__graph.md5 @@ -0,0 +1 @@ +756c262870e6311443e2684a0e2c429b \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door__inherit__graph.png new file mode 100644 index 0000000..ec60255 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light-members.html new file mode 100644 index 0000000..f7932d2 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light-members.html @@ -0,0 +1,119 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProLight Member List
+
+
+ +

This is the complete list of members for SinricProLight, including all inherited members.

+ + + + + + + + + + + + + +
onAdjustBrightness(AdjustBrightnessCallback cb)BrightnessController< SinricProLight >
onBrightness(BrightnessCallback cb)BrightnessController< SinricProLight >
onColor(ColorCallback cb)ColorController< SinricProLight >
onColorTemperature(ColorTemperatureCallback cb)ColorTemperatureController< SinricProLight >
onDecreaseColorTemperature(DecreaseColorTemperatureCallback cb)ColorTemperatureController< SinricProLight >
onIncreaseColorTemperature(IncreaseColorTemperatureCallback cb)ColorTemperatureController< SinricProLight >
onPowerState(PowerStateCallback cb)PowerStateController< SinricProLight >
sendBrightnessEvent(int brightness, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)BrightnessController< SinricProLight >
sendColorEvent(byte r, byte g, byte b, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ColorController< SinricProLight >
sendColorTemperatureEvent(int colorTemperature, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ColorTemperatureController< SinricProLight >
sendPowerStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)PowerStateController< SinricProLight >
sendPushNotification(String notification)PushNotification< SinricProLight >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html new file mode 100644 index 0000000..891d311 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html @@ -0,0 +1,718 @@ + + + + + + + +SinricPro Library: SinricProLight + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProLight
+
+
+ +

Device to control a light. + More...

+ +

#include <SinricProLight.h>

+
+Inheritance diagram for SinricProLight:
+
+
Inheritance graph
+ + + + + + + + + + + + + + + + + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
void onPowerState (PowerStateCallback cb)
 Set callback function for powerState request.
 
bool sendPowerStateEvent (bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setPowerState event to SinricPro Server indicating actual power state.
 
void onBrightness (BrightnessCallback cb)
 Set callback function for setBrightness request.
 
void onAdjustBrightness (AdjustBrightnessCallback cb)
 Set callback function for adjustBrightness request.
 
bool sendBrightnessEvent (int brightness, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setBrightness event to SinricPro Server indicating actual brightness.
 
void onColor (ColorCallback cb)
 Set callback function for setColor request.
 
bool sendColorEvent (byte r, byte g, byte b, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setColor event to SinricPro Server indicating actual color.
 
void onColorTemperature (ColorTemperatureCallback cb)
 Set callback function for setColorTemperature request.
 
void onIncreaseColorTemperature (IncreaseColorTemperatureCallback cb)
 Set callback function for increaseColorTemperature request.
 
void onDecreaseColorTemperature (DecreaseColorTemperatureCallback cb)
 Set callback function for decreaseColorTemperature request.
 
bool sendColorTemperatureEvent (int colorTemperature, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setColorTemperature event to SinricPro Server indicating actual color temperature.
 
+

Detailed Description

+

Device to control a light.

+

Supporting

    +
  • On / Off
  • +
  • Brightness (0..100)
  • +
  • Color (RGB)
  • +
  • Color temperature
  • +
+

Member Function Documentation

+ +

◆ onAdjustBrightness()

+ +
+
+ + + + + +
+ + + + + + + + +
void onAdjustBrightness (AdjustBrightnessCallback cb)
+
+inherited
+
+ +

Set callback function for adjustBrightness request.

+
Parameters
+ + +
cbFunction pointer to a AdjustBrightnessCallback function
+
+
+
Returns
void
+
See also
AdjustBrightnessCallback
+ +
+
+ +

◆ onBrightness()

+ +
+
+ + + + + +
+ + + + + + + + +
void onBrightness (BrightnessCallback cb)
+
+inherited
+
+ +

Set callback function for setBrightness request.

+
Parameters
+ + +
cbFunction pointer to a BrightnessCallback function
+
+
+
Returns
void
+
See also
BrightnessCallback
+ +
+
+ +

◆ onColor()

+ +
+
+ + + + + +
+ + + + + + + + +
void onColor (ColorCallback cb)
+
+inherited
+
+ +

Set callback function for setColor request.

+
Parameters
+ + +
cbFunction pointer to a ColorCallback function
+
+
+
Returns
void
+
See also
ColorCallback
+ +
+
+ +

◆ onColorTemperature()

+ +
+
+ + + + + +
+ + + + + + + + +
void onColorTemperature (ColorTemperatureCallback cb)
+
+inherited
+
+ +

Set callback function for setColorTemperature request.

+
Parameters
+ + +
cbFunction pointer to a ColorTemperatureCallback function
+
+
+
Returns
void
+
See also
ColorTemperatureCallback
+ +
+
+ +

◆ onDecreaseColorTemperature()

+ +
+
+ + + + + +
+ + + + + + + + +
void onDecreaseColorTemperature (DecreaseColorTemperatureCallback cb)
+
+inherited
+
+ +

Set callback function for decreaseColorTemperature request.

+
Parameters
+ + +
cbFunction pointer to a DecreaseColorTemperatureCallback function
+
+
+
Returns
void
+
See also
DecreaseColorTemperatureCallback
+ +
+
+ +

◆ onIncreaseColorTemperature()

+ +
+
+ + + + + +
+ + + + + + + + +
void onIncreaseColorTemperature (IncreaseColorTemperatureCallback cb)
+
+inherited
+
+ +

Set callback function for increaseColorTemperature request.

+
Parameters
+ + +
cbFunction pointer to a IncreaseColorTemperatureCallback function
+
+
+
Returns
void
+
See also
IncreaseColorTemperatureCallback
+ +
+
+ +

◆ onPowerState()

+ +
+
+ + + + + +
+ + + + + + + + +
void onPowerState (PowerStateCallback cb)
+
+inherited
+
+ +

Set callback function for powerState request.

+
Parameters
+ + +
cbFunction pointer to a PowerStateCallback function
+
+
+
Returns
void
+
See also
PowerStateCallback
+ +
+
+ +

◆ sendBrightnessEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendBrightnessEvent (int brightness,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setBrightness event to SinricPro Server indicating actual brightness.

+
Parameters
+ + + +
brightnessInteger value with actual brightness the device is set to
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendColorEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool sendColorEvent (byte r,
byte g,
byte b,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setColor event to SinricPro Server indicating actual color.

+
Parameters
+ + + + + +
rByte value for red
gByte value for green
bByte value for blue
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendColorTemperatureEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendColorTemperatureEvent (int colorTemperature,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setColorTemperature event to SinricPro Server indicating actual color temperature.

+
Parameters
+ + + +
colorTemperatureInteger with new color temperature the device is set to
+ 2200 = warm white
+ 2700 = soft white
+ 4000 = white
+ 5500 = daylight white
+ 7000 = cool white
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPowerStateEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendPowerStateEvent (bool state,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setPowerState event to SinricPro Server indicating actual power state.

+
Parameters
+ + + +
statetrue = device turned on
+ false = device turned off
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.js new file mode 100644 index 0000000..873841e --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.js @@ -0,0 +1,15 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light = +[ + [ "onAdjustBrightness", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a0633e5fa2981189f4a093bab00a8c7f1", null ], + [ "onBrightness", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#abbaab3067b1fcdcc5928451b818a4420", null ], + [ "onColor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a059ff103149869b7c49cdb8911875b7b", null ], + [ "onColorTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a8535c44fd2517ed09ebe6a203cc25b67", null ], + [ "onDecreaseColorTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a7468976e7fffeee14cc869b7236cbb50", null ], + [ "onIncreaseColorTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a7ea9fd9861a5668a41d06267bfbec82a", null ], + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "sendBrightnessEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a2a96c414210f61de3ce53a4ca8c963b3", null ], + [ "sendColorEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a3599a6d00eb0f9127a7c1188885c5bc0", null ], + [ "sendColorTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a0f90d7f5a5b365116f97beca7630ccc9", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a04266791a4b23e9614b8773edb5f67b6", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light__inherit__graph.map new file mode 100644 index 0000000..7833f72 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light__inherit__graph.map @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light__inherit__graph.md5 new file mode 100644 index 0000000..c490d0c --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light__inherit__graph.md5 @@ -0,0 +1 @@ +2334aaa5bb7588bd780bb654f1f1dfd9 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light__inherit__graph.png new file mode 100644 index 0000000..aa329cb Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock-members.html new file mode 100644 index 0000000..834561a --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock-members.html @@ -0,0 +1,110 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProLock Member List
+
+
+ +

This is the complete list of members for SinricProLock, including all inherited members.

+ + + + +
onLockState(LockStateCallback cb)LockController< SinricProLock >
sendLockStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)LockController< SinricProLock >
sendPushNotification(String notification)PushNotification< SinricProLock >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html new file mode 100644 index 0000000..3cfb770 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html @@ -0,0 +1,283 @@ + + + + + + + +SinricPro Library: SinricProLock + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProLock
+
+
+ +

Device to control a smart lock. + More...

+ +

#include <SinricProLock.h>

+
+Inheritance diagram for SinricProLock:
+
+
Inheritance graph
+ + + + + + + + + + + + + +
[legend]
+ + + + + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
void onLockState (LockStateCallback cb)
 Set callback function for setLockState request.
 
bool sendLockStateEvent (bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send lockState event to SinricPro Server indicating actual lock state.
 
+

Detailed Description

+

Device to control a smart lock.

+

Supporting

    +
  • on / off
  • +
  • lock / unlock
  • +
+

Member Function Documentation

+ +

◆ onLockState()

+ +
+
+ + + + + +
+ + + + + + + + +
void onLockState (LockStateCallback cb)
+
+inherited
+
+ +

Set callback function for setLockState request.

+
Parameters
+ + +
cbFunction pointer to a LockStateCallback function
+
+
+
Returns
void
+
See also
LockStateCallback
+ +
+
+ +

◆ sendLockStateEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendLockStateEvent (bool state,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send lockState event to SinricPro Server indicating actual lock state.

+
Parameters
+ + + +
statetrue = device is locked
+ false = device is unlocked
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.js new file mode 100644 index 0000000..2bc900a --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.js @@ -0,0 +1,6 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock = +[ + [ "onLockState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html#aee42cc397234a454fd353ca6bc12a859", null ], + [ "sendLockStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html#a8fb3fec204da21e69d05f89a9ecb4739", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html#a04266791a4b23e9614b8773edb5f67b6", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock__inherit__graph.map new file mode 100644 index 0000000..a18b677 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock__inherit__graph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock__inherit__graph.md5 new file mode 100644 index 0000000..5318ecc --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock__inherit__graph.md5 @@ -0,0 +1 @@ +60d3b19b1d61b91152588c9f2d7744f4 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock__inherit__graph.png new file mode 100644 index 0000000..0a6adcf Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor-members.html new file mode 100644 index 0000000..8f1301f --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor-members.html @@ -0,0 +1,109 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProMotionsensor Member List
+
+
+ +

This is the complete list of members for SinricProMotionsensor, including all inherited members.

+ + + +
sendMotionEvent(bool detected, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)MotionSensor< SinricProMotionsensor >
sendPushNotification(String notification)PushNotification< SinricProMotionsensor >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.html new file mode 100644 index 0000000..073b461 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.html @@ -0,0 +1,240 @@ + + + + + + + +SinricPro Library: SinricProMotionsensor + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProMotionsensor
+
+
+ +

Device to report motion detection events. + More...

+ +

#include <SinricProMotionsensor.h>

+
+Inheritance diagram for SinricProMotionsensor:
+
+
Inheritance graph
+ + + + + + + + + + + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
bool sendMotionEvent (bool detected, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Sending motion detection state to SinricPro server.
 
+

Detailed Description

+

Device to report motion detection events.

+

Member Function Documentation

+ +

◆ sendMotionEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendMotionEvent (bool detected,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Sending motion detection state to SinricPro server.

+
Parameters
+ + + +
detectedbool true if motion has been detected
+ 'false' if no motion has been detected
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.js new file mode 100644 index 0000000..fca4a11 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.js @@ -0,0 +1,5 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor = +[ + [ "sendMotionEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.html#a9be024aa2bb70f0146a02dd1b79d3faa", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.html#a04266791a4b23e9614b8773edb5f67b6", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor__inherit__graph.map new file mode 100644 index 0000000..58dcdb1 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor__inherit__graph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor__inherit__graph.md5 new file mode 100644 index 0000000..ca921c0 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor__inherit__graph.md5 @@ -0,0 +1 @@ +e99657b83de54768a6215faa5d533cd6 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor__inherit__graph.png new file mode 100644 index 0000000..cf90154 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor-members.html new file mode 100644 index 0000000..beb6774 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor-members.html @@ -0,0 +1,109 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProPowerSensor Member List
+
+
+ +

This is the complete list of members for SinricProPowerSensor, including all inherited members.

+ + + +
sendPowerSensorEvent(float voltage, float current, float power=-1.0f, float apparentPower=-1.0f, float reactivePower=-1.0f, float factor=-1.0f, String cause=FSTR_SINRICPRO_PERIODIC_POLL)PowerSensor< SinricProPowerSensor >
sendPushNotification(String notification)PushNotification< SinricProPowerSensor >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.html new file mode 100644 index 0000000..30b02bf --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.html @@ -0,0 +1,275 @@ + + + + + + + +SinricPro Library: SinricProPowerSensor + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProPowerSensor
+
+
+ +

Device to report power usage. + More...

+ +

#include <SinricProPowerSensor.h>

+
+Inheritance diagram for SinricProPowerSensor:
+
+
Inheritance graph
+ + + + + + + + + + + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
bool sendPowerSensorEvent (float voltage, float current, float power=-1.0f, float apparentPower=-1.0f, float reactivePower=-1.0f, float factor=-1.0f, String cause=FSTR_SINRICPRO_PERIODIC_POLL)
 Send PowerSensor event to SinricPro Server.
 
+

Detailed Description

+

Device to report power usage.

+

Member Function Documentation

+ +

◆ sendPowerSensorEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool sendPowerSensorEvent (float voltage,
float current,
float power = -1.0f,
float apparentPower = -1.0f,
float reactivePower = -1.0f,
float factor = -1.0f,
String cause = FSTR_SINRICPRO_PERIODIC_POLL 
)
+
+inherited
+
+ +

Send PowerSensor event to SinricPro Server.

+
Parameters
+ + + + + + + + +
voltagefloat voltage
currentfloat current
powerfloat (optional) if not provided, it is calculated automaticly (power = voltage * current)
apparentPowerfloat (optional) if not provided it is set to -1
reactivePowerfloat (optional) if not provided it is set to -1
factorfloat (optional) if not provided it is set to -1
+ if apparentPower is provided, factor is calculated automaticly (factor = power / apparentPower)
causeString (optional) Reason why event is sent (default = "PERIODIC_POLL")
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.js new file mode 100644 index 0000000..c90c227 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.js @@ -0,0 +1,5 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor = +[ + [ "sendPowerSensorEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.html#aec04692842ae1953973503f6be6d9afc", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.html#a04266791a4b23e9614b8773edb5f67b6", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor__inherit__graph.map new file mode 100644 index 0000000..2ddf627 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor__inherit__graph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor__inherit__graph.md5 new file mode 100644 index 0000000..b0cbf10 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor__inherit__graph.md5 @@ -0,0 +1 @@ +6f6c47a0385ee774b61f8a54dd079e85 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor__inherit__graph.png new file mode 100644 index 0000000..88fdade Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker-members.html new file mode 100644 index 0000000..3b130e4 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker-members.html @@ -0,0 +1,127 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProSpeaker Member List
+
+
+ +

This is the complete list of members for SinricProSpeaker, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
onAdjustBands(AdjustBandsCallback cb)EqualizerController< SinricProSpeaker >
onAdjustVolume(AdjustVolumeCallback cb)VolumeController< SinricProSpeaker >
onMediaControl(MediaControlCallback cb)MediaController< SinricProSpeaker >
onMute(MuteCallback cb)MuteController< SinricProSpeaker >
onPowerState(PowerStateCallback cb)PowerStateController< SinricProSpeaker >
onResetBands(ResetBandsCallback cb)EqualizerController< SinricProSpeaker >
onSelectInput(SelectInputCallback cb)InputController< SinricProSpeaker >
onSetBands(SetBandsCallback cb)EqualizerController< SinricProSpeaker >
onSetMode(ModeCallback cb)ModeController< SinricProSpeaker >
onSetMode(const String &instance, GenericModeCallback cb)ModeController< SinricProSpeaker >
onSetVolume(SetVolumeCallback cb)VolumeController< SinricProSpeaker >
sendBandsEvent(String bands, int level, String cause="PHYSICAL_INTERACTION")EqualizerController< SinricProSpeaker >
sendMediaControlEvent(String mediaControl, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)MediaController< SinricProSpeaker >
sendModeEvent(String mode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ModeController< SinricProSpeaker >
sendModeEvent(String instance, String mode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ModeController< SinricProSpeaker >
sendMuteEvent(bool mute, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)MuteController< SinricProSpeaker >
sendPowerStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)PowerStateController< SinricProSpeaker >
sendPushNotification(String notification)PushNotification< SinricProSpeaker >
sendSelectInputEvent(String intput, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)InputController< SinricProSpeaker >
sendVolumeEvent(int volume, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)VolumeController< SinricProSpeaker >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html new file mode 100644 index 0000000..cc765a3 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html @@ -0,0 +1,1133 @@ + + + + + + + +SinricPro Library: SinricProSpeaker + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProSpeaker
+
+
+ +

Device to control a smart speaker. + More...

+ +

#include <SinricProSpeaker.h>

+
+Inheritance diagram for SinricProSpeaker:
+
+
Inheritance graph
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
void onPowerState (PowerStateCallback cb)
 Set callback function for powerState request.
 
bool sendPowerStateEvent (bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setPowerState event to SinricPro Server indicating actual power state.
 
void onMute (MuteCallback cb)
 Set callback function for setMute request.
 
bool sendMuteEvent (bool mute, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setMute event to SinricPro Server indicating actual mute state.
 
void onSetVolume (SetVolumeCallback cb)
 Set callback function for setVolume request.
 
void onAdjustVolume (AdjustVolumeCallback cb)
 Set callback function for adjustVolume request.
 
bool sendVolumeEvent (int volume, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setVolume event to SinricPro Server indicating actual volume has changed.
 
void onMediaControl (MediaControlCallback cb)
 Set callback function for mediaControl request.
 
bool sendMediaControlEvent (String mediaControl, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send mediaControl event to SinricPro Server indicating devices media control state.
 
void onSelectInput (SelectInputCallback cb)
 Set callback function for selectInput request.
 
bool sendSelectInputEvent (String intput, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send selectInput event to SinricPro Server to report selected input.
 
void onSetBands (SetBandsCallback cb)
 Set callback function for setBands request.
 
void onAdjustBands (AdjustBandsCallback cb)
 Set callback function for adjustBands request.
 
void onResetBands (ResetBandsCallback cb)
 Set callback function for resetBands request.
 
bool sendBandsEvent (String bands, int level, String cause="PHYSICAL_INTERACTION")
 Send setBands event to SinricPro Server indicating bands level has changed.
 
void onSetMode (ModeCallback cb)
 Set callback function for setMode request.
 
void onSetMode (const String &instance, GenericModeCallback cb)
 Set callback function for setMode request on a specific instance.
 
bool sendModeEvent (String mode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setMode event to SinricPro Server indicating the mode has changed.
 
bool sendModeEvent (String instance, String mode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setMode event to SinricPro Server indicating the mode on a specific instance has changed.
 
+

Detailed Description

+

Device to control a smart speaker.

+

Supporting:

    +
  • setVolume / adjustVolume
  • +
  • set / adjust / reset bands (BASS, MIDRANGE, TREBBLE)
  • +
  • mute / unmute
  • +
  • media controls:
      +
    • FastForward
    • +
    • Next
    • +
    • Pause
    • +
    • Play
    • +
    • Previous
    • +
    • Rewind
    • +
    • StartOver
    • +
    • Stop
    • +
    +
  • +
  • set mode (TV, MOVIE, ...)
  • +
+

Member Function Documentation

+ +

◆ onAdjustBands()

+ +
+
+ + + + + +
+ + + + + + + + +
void onAdjustBands (AdjustBandsCallback cb)
+
+inherited
+
+ +

Set callback function for adjustBands request.

+
Parameters
+ + +
cbFunction pointer to a AdjustBandsCallback function
+
+
+
Returns
void
+
See also
AdjustBandsCallback
+ +
+
+ +

◆ onAdjustVolume()

+ +
+
+ + + + + +
+ + + + + + + + +
void onAdjustVolume (AdjustVolumeCallback cb)
+
+inherited
+
+ +

Set callback function for adjustVolume request.

+
Parameters
+ + +
cbFunction pointer to a AdjustVolumeCallback function
+
+
+
Returns
void
+
See also
AdjustVolumeCallback
+ +
+
+ +

◆ onMediaControl()

+ +
+
+ + + + + +
+ + + + + + + + +
void onMediaControl (MediaControlCallback cb)
+
+inherited
+
+ +

Set callback function for mediaControl request.

+
Parameters
+ + +
cbFunction pointer to a MediaControlCallback function
+
+
+
Returns
void
+
See also
MediaControlCallback
+ +
+
+ +

◆ onMute()

+ +
+
+ + + + + +
+ + + + + + + + +
void onMute (MuteCallback cb)
+
+inherited
+
+ +

Set callback function for setMute request.

+
Parameters
+ + +
cbFunction pointer to a MuteCallback function
+
+
+
Returns
void
+
See also
MuteCallback
+ +
+
+ +

◆ onPowerState()

+ +
+
+ + + + + +
+ + + + + + + + +
void onPowerState (PowerStateCallback cb)
+
+inherited
+
+ +

Set callback function for powerState request.

+
Parameters
+ + +
cbFunction pointer to a PowerStateCallback function
+
+
+
Returns
void
+
See also
PowerStateCallback
+ +
+
+ +

◆ onResetBands()

+ +
+
+ + + + + +
+ + + + + + + + +
void onResetBands (ResetBandsCallback cb)
+
+inherited
+
+ +

Set callback function for resetBands request.

+
Parameters
+ + +
cbFunction pointer to a ResetBandsCallback function
+
+
+
Returns
void
+
See also
ResetBandsCallback
+ +
+
+ +

◆ onSelectInput()

+ +
+
+ + + + + +
+ + + + + + + + +
void onSelectInput (SelectInputCallback cb)
+
+inherited
+
+ +

Set callback function for selectInput request.

+
Parameters
+ + +
cbFunction pointer to a SelectInputCallback function
+
+
+
Returns
void
+
See also
SelectInputCallback
+ +
+
+ +

◆ onSetBands()

+ +
+
+ + + + + +
+ + + + + + + + +
void onSetBands (SetBandsCallback cb)
+
+inherited
+
+ +

Set callback function for setBands request.

+
Parameters
+ + +
cbFunction pointer to a SetBandsCallback function
+
+
+
Returns
void
+
See also
SetBandsCallback
+ +
+
+ +

◆ onSetMode() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void onSetMode (const String & instance,
GenericModeCallback cb 
)
+
+inherited
+
+ +

Set callback function for setMode request on a specific instance.

+
Parameters
+ + + +
instanceString with instance name
cbFunction pointer to a ModeCallback function
+
+
+
Returns
void
+
See also
ModeCallback
+ +
+
+ +

◆ onSetMode() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void onSetMode (ModeCallback cb)
+
+inherited
+
+ +

Set callback function for setMode request.

+
Parameters
+ + +
cbFunction pointer to a ModeCallback function
+
+
+
Returns
void
+
See also
ModeCallback
+ +
+
+ +

◆ onSetVolume()

+ +
+
+ + + + + +
+ + + + + + + + +
void onSetVolume (SetVolumeCallback cb)
+
+inherited
+
+ +

Set callback function for setVolume request.

+
Parameters
+ + +
cbFunction pointer to a SetVolumeCallback function
+
+
+
Returns
void
+
See also
SetVolumeCallback
+ +
+
+ +

◆ sendBandsEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sendBandsEvent (String bands,
int level,
String cause = "PHYSICAL_INTERACTION" 
)
+
+inherited
+
+ +

Send setBands event to SinricPro Server indicating bands level has changed.

+
Parameters
+ + + + +
bandsString which bands has changed
+ BASS, MIDRANGE, TREBBLE
levelInteger with changed bands level
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendMediaControlEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendMediaControlEvent (String mediaControl,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send mediaControl event to SinricPro Server indicating devices media control state.

+
Parameters
+ + + +
mediaControlString with actual media control
+ FastForward, Next, Pause, Play, Previous, Rewind, StartOver, Stop
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendModeEvent() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sendModeEvent (String instance,
String mode,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setMode event to SinricPro Server indicating the mode on a specific instance has changed.

+
Parameters
+ + + + +
instanceString instance name
modeString with actual mode device is set to
+ MOVIE, MUSIC, NIGHT, SPORT, TV
cause(optional) String reason why event is sent (default = FSTR_SINRICPRO_PHYSICAL_INTERACTION)
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendModeEvent() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendModeEvent (String mode,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setMode event to SinricPro Server indicating the mode has changed.

+
Parameters
+ + + +
modeString with actual mode device is set to
+ MOVIE, MUSIC, NIGHT, SPORT, TV
cause(optional) String reason why event is sent (default = FSTR_SINRICPRO_PHYSICAL_INTERACTION)
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendMuteEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendMuteEvent (bool mute,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setMute event to SinricPro Server indicating actual mute state.

+
Parameters
+ + + +
mutetrue = device is muted on
+ false = device is unmuted
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPowerStateEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendPowerStateEvent (bool state,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setPowerState event to SinricPro Server indicating actual power state.

+
Parameters
+ + + +
statetrue = device turned on
+ false = device turned off
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendSelectInputEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendSelectInputEvent (String input,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send selectInput event to SinricPro Server to report selected input.

+
Parameters
+ + + +
inputString with actual media control
+ AUX 1..AUX 7, BLURAY, CABLE, CD, COAX 1,COAX 2, COMPOSITE 1, DVD, GAME, HD RADIO, HDMI 1.. HDMI 10, HDMI ARC, INPUT 1..INPUT 10, IPOD, LINE 1..LINE 7, MEDIA PLAYER, OPTICAL 1, OPTICAL 2, PHONO, PLAYSTATION, PLAYSTATION 3, PLAYSTATION 4, SATELLITE, SMARTCAST, TUNER, TV, USB DAC, VIDEO 1..VIDEO 3, XBOX
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendVolumeEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendVolumeEvent (int volume,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setVolume event to SinricPro Server indicating actual volume has changed.

+
Parameters
+ + + +
volumeInteger reporting the volume that the device have been set to
cause(optional) Reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.js new file mode 100644 index 0000000..e7e4d66 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.js @@ -0,0 +1,23 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker = +[ + [ "onAdjustBands", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a41a5c1506545c44c2408054a8675c7a8", null ], + [ "onAdjustVolume", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a2c868c87f96e3924c8b309e1bcfb507e", null ], + [ "onMediaControl", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#afc2620621377fff928737b5a8a537020", null ], + [ "onMute", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#ab5fc79cc8903c3ccc1c106abf61d7cfd", null ], + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "onResetBands", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#aa6c3aabc2b442d82ac5456ccaac3f60d", null ], + [ "onSelectInput", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a18f8f71ecf0d7292a63d9486f94e5180", null ], + [ "onSetBands", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a4aaa7a29394560be7537a86b0304d199", null ], + [ "onSetMode", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a6b15ba168b3a673b98da43ac5e4ef76c", null ], + [ "onSetMode", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#ada087c948c3ab923bdb7818daa6b2b79", null ], + [ "onSetVolume", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a5db8c85f222debbece54c794015f9402", null ], + [ "sendBandsEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a4ad5674e36d96a73147388251b794c82", null ], + [ "sendMediaControlEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a7af593cbf79d38f6b90efb5afee45077", null ], + [ "sendModeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a7c84d5c26f2ded88e4941313015f7f4c", null ], + [ "sendModeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a41f8465e89d147c08ab8cbc6839d34da", null ], + [ "sendMuteEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a4717d892b64a14052712152924bd5b29", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a04266791a4b23e9614b8773edb5f67b6", null ], + [ "sendSelectInputEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a973241ac912a18b142d236dda7f80e97", null ], + [ "sendVolumeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#aa2d3dbea5b07e4c5f39d3d20aa2167a4", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker__inherit__graph.map new file mode 100644 index 0000000..2410188 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker__inherit__graph.map @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker__inherit__graph.md5 new file mode 100644 index 0000000..5a3072f --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker__inherit__graph.md5 @@ -0,0 +1 @@ +7620d4cd03d4d8283258192fa4f31f94 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker__inherit__graph.png new file mode 100644 index 0000000..7e52b19 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch-members.html new file mode 100644 index 0000000..c9e4528 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch-members.html @@ -0,0 +1,110 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProSwitch Member List
+
+
+ +

This is the complete list of members for SinricProSwitch, including all inherited members.

+ + + + +
onPowerState(PowerStateCallback cb)PowerStateController< SinricProSwitch >
sendPowerStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)PowerStateController< SinricProSwitch >
sendPushNotification(String notification)PushNotification< SinricProSwitch >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html new file mode 100644 index 0000000..82004de --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html @@ -0,0 +1,279 @@ + + + + + + + +SinricPro Library: SinricProSwitch + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProSwitch
+
+
+ +

Device suporting basic on / off command. + More...

+ +

#include <SinricProSwitch.h>

+
+Inheritance diagram for SinricProSwitch:
+
+
Inheritance graph
+ + + + + + + + + + + + + +
[legend]
+ + + + + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
void onPowerState (PowerStateCallback cb)
 Set callback function for powerState request.
 
bool sendPowerStateEvent (bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setPowerState event to SinricPro Server indicating actual power state.
 
+

Detailed Description

+

Device suporting basic on / off command.

+

Member Function Documentation

+ +

◆ onPowerState()

+ +
+
+ + + + + +
+ + + + + + + + +
void onPowerState (PowerStateCallback cb)
+
+inherited
+
+ +

Set callback function for powerState request.

+
Parameters
+ + +
cbFunction pointer to a PowerStateCallback function
+
+
+
Returns
void
+
See also
PowerStateCallback
+ +
+
+ +

◆ sendPowerStateEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendPowerStateEvent (bool state,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setPowerState event to SinricPro Server indicating actual power state.

+
Parameters
+ + + +
statetrue = device turned on
+ false = device turned off
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.js new file mode 100644 index 0000000..a717515 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.js @@ -0,0 +1,6 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch = +[ + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html#a04266791a4b23e9614b8773edb5f67b6", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch__inherit__graph.map new file mode 100644 index 0000000..5dbb985 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch__inherit__graph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch__inherit__graph.md5 new file mode 100644 index 0000000..2608aa9 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch__inherit__graph.md5 @@ -0,0 +1 @@ +b525385e89d086dac5e0c95ae7d60218 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch__inherit__graph.png new file mode 100644 index 0000000..206a8e3 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v-members.html new file mode 100644 index 0000000..7b2418c --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v-members.html @@ -0,0 +1,123 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProTV Member List
+
+
+ +

This is the complete list of members for SinricProTV, including all inherited members.

+ + + + + + + + + + + + + + + + + +
onAdjustVolume(AdjustVolumeCallback cb)VolumeController< SinricProTV >
onChangeChannel(ChangeChannelCallback cb)ChannelController< SinricProTV >
onChangeChannelNumber(ChangeChannelNumberCallback cb)ChannelController< SinricProTV >
onMediaControl(MediaControlCallback cb)MediaController< SinricProTV >
onMute(MuteCallback cb)MuteController< SinricProTV >
onPowerState(PowerStateCallback cb)PowerStateController< SinricProTV >
onSelectInput(SelectInputCallback cb)InputController< SinricProTV >
onSetVolume(SetVolumeCallback cb)VolumeController< SinricProTV >
onSkipChannels(SkipChannelsCallback cb)ChannelController< SinricProTV >
sendChangeChannelEvent(String channelName, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ChannelController< SinricProTV >
sendMediaControlEvent(String mediaControl, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)MediaController< SinricProTV >
sendMuteEvent(bool mute, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)MuteController< SinricProTV >
sendPowerStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)PowerStateController< SinricProTV >
sendPushNotification(String notification)PushNotification< SinricProTV >
sendSelectInputEvent(String intput, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)InputController< SinricProTV >
sendVolumeEvent(int volume, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)VolumeController< SinricProTV >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html new file mode 100644 index 0000000..c5cc0b9 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html @@ -0,0 +1,909 @@ + + + + + + + +SinricPro Library: SinricProTV + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProTV
+
+
+ +

Device to control a TV. + More...

+ +

#include <SinricProTV.h>

+
+Inheritance diagram for SinricProTV:
+
+
Inheritance graph
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
void onPowerState (PowerStateCallback cb)
 Set callback function for powerState request.
 
bool sendPowerStateEvent (bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setPowerState event to SinricPro Server indicating actual power state.
 
void onSetVolume (SetVolumeCallback cb)
 Set callback function for setVolume request.
 
void onAdjustVolume (AdjustVolumeCallback cb)
 Set callback function for adjustVolume request.
 
bool sendVolumeEvent (int volume, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setVolume event to SinricPro Server indicating actual volume has changed.
 
void onMute (MuteCallback cb)
 Set callback function for setMute request.
 
bool sendMuteEvent (bool mute, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setMute event to SinricPro Server indicating actual mute state.
 
void onMediaControl (MediaControlCallback cb)
 Set callback function for mediaControl request.
 
bool sendMediaControlEvent (String mediaControl, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send mediaControl event to SinricPro Server indicating devices media control state.
 
void onSelectInput (SelectInputCallback cb)
 Set callback function for selectInput request.
 
bool sendSelectInputEvent (String intput, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send selectInput event to SinricPro Server to report selected input.
 
void onChangeChannel (ChangeChannelCallback cb)
 Set callback function for changeChannel request.
 
void onChangeChannelNumber (ChangeChannelNumberCallback cb)
 Set callback function for changeChannel request.
 
void onSkipChannels (SkipChannelsCallback cb)
 Set callback function for skipChannels request.
 
bool sendChangeChannelEvent (String channelName, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send changeChannel event to SinricPro Server to report selected channel.
 
+

Detailed Description

+

Device to control a TV.

+

Supporting:

    +
  • setVolume / adjustVolume
  • +
  • mute / unmute
  • +
  • media controls:
      +
    • FastForward, Next, Pause, Play, Previous, Rewind, StartOver, Stop
    • +
    +
  • +
  • select input
      +
    • AUX 1..AUX 7, BLURAY, CABLE, CD, COAX 1,COAX 2, COMPOSITE 1, DVD, GAME, HD RADIO, HDMI 1.. HDMI 10, HDMI ARC, INPUT 1..INPUT 10, IPOD, LINE 1..LINE 7, MEDIA PLAYER, OPTICAL 1, OPTICAL 2, PHONO, PLAYSTATION, PLAYSTATION 3, PLAYSTATION 4, SATELLITE, SMARTCAST, TUNER, TV, USB DAC, VIDEO 1..VIDEO 3, XBOX
    • +
    +
  • +
  • Change channel by number
  • +
  • Change channel by name
  • +
  • Skip channels
  • +
+

Member Function Documentation

+ +

◆ onAdjustVolume()

+ +
+
+ + + + + +
+ + + + + + + + +
void onAdjustVolume (AdjustVolumeCallback cb)
+
+inherited
+
+ +

Set callback function for adjustVolume request.

+
Parameters
+ + +
cbFunction pointer to a AdjustVolumeCallback function
+
+
+
Returns
void
+
See also
AdjustVolumeCallback
+ +
+
+ +

◆ onChangeChannel()

+ +
+
+ + + + + +
+ + + + + + + + +
void onChangeChannel (ChangeChannelCallback cb)
+
+inherited
+
+ +

Set callback function for changeChannel request.

+
Parameters
+ + +
cbFunction pointer to a ChangeChannelCallback function
+
+
+
Returns
void
+
See also
ChangeChannelCallback
+ +
+
+ +

◆ onChangeChannelNumber()

+ +
+
+ + + + + +
+ + + + + + + + +
void onChangeChannelNumber (ChangeChannelNumberCallback cb)
+
+inherited
+
+ +

Set callback function for changeChannel request.

+
Parameters
+ + +
cbFunction pointer to a ChangeChannelNumberCallback function
+
+
+
Returns
void
+
See also
ChangeChannelNumberCallback
+ +
+
+ +

◆ onMediaControl()

+ +
+
+ + + + + +
+ + + + + + + + +
void onMediaControl (MediaControlCallback cb)
+
+inherited
+
+ +

Set callback function for mediaControl request.

+
Parameters
+ + +
cbFunction pointer to a MediaControlCallback function
+
+
+
Returns
void
+
See also
MediaControlCallback
+ +
+
+ +

◆ onMute()

+ +
+
+ + + + + +
+ + + + + + + + +
void onMute (MuteCallback cb)
+
+inherited
+
+ +

Set callback function for setMute request.

+
Parameters
+ + +
cbFunction pointer to a MuteCallback function
+
+
+
Returns
void
+
See also
MuteCallback
+ +
+
+ +

◆ onPowerState()

+ +
+
+ + + + + +
+ + + + + + + + +
void onPowerState (PowerStateCallback cb)
+
+inherited
+
+ +

Set callback function for powerState request.

+
Parameters
+ + +
cbFunction pointer to a PowerStateCallback function
+
+
+
Returns
void
+
See also
PowerStateCallback
+ +
+
+ +

◆ onSelectInput()

+ +
+
+ + + + + +
+ + + + + + + + +
void onSelectInput (SelectInputCallback cb)
+
+inherited
+
+ +

Set callback function for selectInput request.

+
Parameters
+ + +
cbFunction pointer to a SelectInputCallback function
+
+
+
Returns
void
+
See also
SelectInputCallback
+ +
+
+ +

◆ onSetVolume()

+ +
+
+ + + + + +
+ + + + + + + + +
void onSetVolume (SetVolumeCallback cb)
+
+inherited
+
+ +

Set callback function for setVolume request.

+
Parameters
+ + +
cbFunction pointer to a SetVolumeCallback function
+
+
+
Returns
void
+
See also
SetVolumeCallback
+ +
+
+ +

◆ onSkipChannels()

+ +
+
+ + + + + +
+ + + + + + + + +
void onSkipChannels (SkipChannelsCallback cb)
+
+inherited
+
+ +

Set callback function for skipChannels request.

+
Parameters
+ + +
cbFunction pointer to a SkipChannelsCallback function
+
+
+
Returns
void
+
See also
SkipChannelsCallback
+ +
+
+ +

◆ sendChangeChannelEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendChangeChannelEvent (String channelName,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send changeChannel event to SinricPro Server to report selected channel.

+
Parameters
+ + + +
channelNameString with actual channel
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendMediaControlEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendMediaControlEvent (String mediaControl,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send mediaControl event to SinricPro Server indicating devices media control state.

+
Parameters
+ + + +
mediaControlString with actual media control
+ FastForward, Next, Pause, Play, Previous, Rewind, StartOver, Stop
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendMuteEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendMuteEvent (bool mute,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setMute event to SinricPro Server indicating actual mute state.

+
Parameters
+ + + +
mutetrue = device is muted on
+ false = device is unmuted
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPowerStateEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendPowerStateEvent (bool state,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setPowerState event to SinricPro Server indicating actual power state.

+
Parameters
+ + + +
statetrue = device turned on
+ false = device turned off
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendSelectInputEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendSelectInputEvent (String input,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send selectInput event to SinricPro Server to report selected input.

+
Parameters
+ + + +
inputString with actual media control
+ AUX 1..AUX 7, BLURAY, CABLE, CD, COAX 1,COAX 2, COMPOSITE 1, DVD, GAME, HD RADIO, HDMI 1.. HDMI 10, HDMI ARC, INPUT 1..INPUT 10, IPOD, LINE 1..LINE 7, MEDIA PLAYER, OPTICAL 1, OPTICAL 2, PHONO, PLAYSTATION, PLAYSTATION 3, PLAYSTATION 4, SATELLITE, SMARTCAST, TUNER, TV, USB DAC, VIDEO 1..VIDEO 3, XBOX
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendVolumeEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendVolumeEvent (int volume,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setVolume event to SinricPro Server indicating actual volume has changed.

+
Parameters
+ + + +
volumeInteger reporting the volume that the device have been set to
cause(optional) Reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.js new file mode 100644 index 0000000..d1a6edb --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.js @@ -0,0 +1,19 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v = +[ + [ "onAdjustVolume", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a2c868c87f96e3924c8b309e1bcfb507e", null ], + [ "onChangeChannel", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a92f3b83744b5bb82d32628eef39c1eb9", null ], + [ "onChangeChannelNumber", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#afd8aee20590bfadec181c6ee515125ec", null ], + [ "onMediaControl", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#afc2620621377fff928737b5a8a537020", null ], + [ "onMute", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#ab5fc79cc8903c3ccc1c106abf61d7cfd", null ], + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "onSelectInput", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a18f8f71ecf0d7292a63d9486f94e5180", null ], + [ "onSetVolume", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a5db8c85f222debbece54c794015f9402", null ], + [ "onSkipChannels", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#ab1123d03d471fad4896eb2960ed41855", null ], + [ "sendChangeChannelEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#aff5839c3020c3006af1a2a8c37cc858e", null ], + [ "sendMediaControlEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a7af593cbf79d38f6b90efb5afee45077", null ], + [ "sendMuteEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a4717d892b64a14052712152924bd5b29", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a04266791a4b23e9614b8773edb5f67b6", null ], + [ "sendSelectInputEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a973241ac912a18b142d236dda7f80e97", null ], + [ "sendVolumeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#aa2d3dbea5b07e4c5f39d3d20aa2167a4", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v__inherit__graph.map new file mode 100644 index 0000000..404b0ab --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v__inherit__graph.map @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v__inherit__graph.md5 new file mode 100644 index 0000000..57aa5c1 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v__inherit__graph.md5 @@ -0,0 +1 @@ +3be6aa0984066c3caf7df4ee19a5adfa \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v__inherit__graph.png new file mode 100644 index 0000000..53b7b84 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor-members.html new file mode 100644 index 0000000..34c3d44 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor-members.html @@ -0,0 +1,109 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProTemperaturesensor Member List
+
+
+ +

This is the complete list of members for SinricProTemperaturesensor, including all inherited members.

+ + + +
sendPushNotification(String notification)PushNotification< SinricProTemperaturesensor >
sendTemperatureEvent(float temperature, float humidity=-1, String cause=FSTR_SINRICPRO_PERIODIC_POLL)TemperatureSensor< SinricProTemperaturesensor >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.html new file mode 100644 index 0000000..fa75b8e --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.html @@ -0,0 +1,246 @@ + + + + + + + +SinricPro Library: SinricProTemperaturesensor + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProTemperaturesensor
+
+
+ +

Device to report actual temperature and humidity. + More...

+ +

#include <SinricProTemperaturesensor.h>

+
+Inheritance diagram for SinricProTemperaturesensor:
+
+
Inheritance graph
+ + + + + + + + + + + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
bool sendTemperatureEvent (float temperature, float humidity=-1, String cause=FSTR_SINRICPRO_PERIODIC_POLL)
 Send currentTemperature event to report actual temperature (measured by a sensor)
 
+

Detailed Description

+

Device to report actual temperature and humidity.

+

Member Function Documentation

+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendTemperatureEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sendTemperatureEvent (float temperature,
float humidity = -1,
String cause = FSTR_SINRICPRO_PERIODIC_POLL 
)
+
+inherited
+
+ +

Send currentTemperature event to report actual temperature (measured by a sensor)

+
Parameters
+ + + + +
temperaturefloat actual temperature measured by a sensor
humidityfloat (optional) actual humidity measured by a sensor (default=-1.0f means not supported)
cause(optional) String reason why event is sent (default = "PERIODIC_POLL")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.js new file mode 100644 index 0000000..db8437e --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.js @@ -0,0 +1,5 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor = +[ + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.html#a04266791a4b23e9614b8773edb5f67b6", null ], + [ "sendTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.html#a75956fe7aff6e595a9b57519316ff789", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor__inherit__graph.map new file mode 100644 index 0000000..c8f31bd --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor__inherit__graph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor__inherit__graph.md5 new file mode 100644 index 0000000..fda578a --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor__inherit__graph.md5 @@ -0,0 +1 @@ +35e8354d38188915c755e262b8c7cf1f \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor__inherit__graph.png new file mode 100644 index 0000000..0b51dc6 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat-members.html new file mode 100644 index 0000000..32823a3 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat-members.html @@ -0,0 +1,116 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProThermostat Member List
+
+
+ +

This is the complete list of members for SinricProThermostat, including all inherited members.

+ + + + + + + + + + +
onAdjustTargetTemperature(AdjustTargetTemperatureCallback cb)ThermostatController< SinricProThermostat >
onPowerState(PowerStateCallback cb)PowerStateController< SinricProThermostat >
onTargetTemperature(SetTargetTemperatureCallback cb)ThermostatController< SinricProThermostat >
onThermostatMode(ThermostatModeCallback cb)ThermostatController< SinricProThermostat >
sendPowerStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)PowerStateController< SinricProThermostat >
sendPushNotification(String notification)PushNotification< SinricProThermostat >
sendTargetTemperatureEvent(float temperature, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ThermostatController< SinricProThermostat >
sendTemperatureEvent(float temperature, float humidity=-1, String cause=FSTR_SINRICPRO_PERIODIC_POLL)TemperatureSensor< SinricProThermostat >
sendThermostatModeEvent(String thermostatMode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ThermostatController< SinricProThermostat >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html new file mode 100644 index 0000000..313425d --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html @@ -0,0 +1,585 @@ + + + + + + + +SinricPro Library: SinricProThermostat + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProThermostat
+
+
+ +

Device to control Thermostat. + More...

+ +

#include <SinricProThermostat.h>

+
+Inheritance diagram for SinricProThermostat:
+
+
Inheritance graph
+ + + + + + + + + + + + + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
void onPowerState (PowerStateCallback cb)
 Set callback function for powerState request.
 
bool sendPowerStateEvent (bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setPowerState event to SinricPro Server indicating actual power state.
 
void onThermostatMode (ThermostatModeCallback cb)
 Set callback function for setThermostatMode request.
 
void onTargetTemperature (SetTargetTemperatureCallback cb)
 Set callback function for targetTemperature request.
 
void onAdjustTargetTemperature (AdjustTargetTemperatureCallback cb)
 Set callback function for adjustTargetTemperature request.
 
bool sendThermostatModeEvent (String thermostatMode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send thermostatMode event to report a the new mode the device has been set to.
 
bool sendTargetTemperatureEvent (float temperature, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send targetTemperature event to report target temperature change.
 
bool sendTemperatureEvent (float temperature, float humidity=-1, String cause=FSTR_SINRICPRO_PERIODIC_POLL)
 Send currentTemperature event to report actual temperature (measured by a sensor)
 
+

Detailed Description

+

Device to control Thermostat.

+

Support

    +
  • Set / adjust target temperature
  • +
  • Report target temperature
  • +
  • Report actual temperature
  • +
  • Set thermostat mode AUTO, COOL, HEAT
  • +
+

Member Function Documentation

+ +

◆ onAdjustTargetTemperature()

+ +
+
+ + + + + +
+ + + + + + + + +
void onAdjustTargetTemperature (AdjustTargetTemperatureCallback cb)
+
+inherited
+
+ +

Set callback function for adjustTargetTemperature request.

+
Parameters
+ + +
cbFunction pointer to a AdjustTargetTemperatureCallback function
+
+
+
Returns
void
+
See also
AdjustTargetTemperatureCallback
+ +
+
+ +

◆ onPowerState()

+ +
+
+ + + + + +
+ + + + + + + + +
void onPowerState (PowerStateCallback cb)
+
+inherited
+
+ +

Set callback function for powerState request.

+
Parameters
+ + +
cbFunction pointer to a PowerStateCallback function
+
+
+
Returns
void
+
See also
PowerStateCallback
+ +
+
+ +

◆ onTargetTemperature()

+ +
+
+ + + + + +
+ + + + + + + + +
void onTargetTemperature (SetTargetTemperatureCallback cb)
+
+inherited
+
+ +

Set callback function for targetTemperature request.

+
Parameters
+ + +
cbFunction pointer to a SetTargetTemperatureCallback function
+
+
+
Returns
void
+
See also
SetTargetTemperatureCallback
+ +
+
+ +

◆ onThermostatMode()

+ +
+
+ + + + + +
+ + + + + + + + +
void onThermostatMode (ThermostatModeCallback cb)
+
+inherited
+
+ +

Set callback function for setThermostatMode request.

+
Parameters
+ + +
cbFunction pointer to a ThermostatModeCallback function
+
+
+
Returns
void
+
See also
ThermostatModeCallback
+ +
+
+ +

◆ sendPowerStateEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendPowerStateEvent (bool state,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setPowerState event to SinricPro Server indicating actual power state.

+
Parameters
+ + + +
statetrue = device turned on
+ false = device turned off
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendTargetTemperatureEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendTargetTemperatureEvent (float temperature,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send targetTemperature event to report target temperature change.

+
Parameters
+ + + +
temperatureFloat with actual target temperature the device is set to
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendTemperatureEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sendTemperatureEvent (float temperature,
float humidity = -1,
String cause = FSTR_SINRICPRO_PERIODIC_POLL 
)
+
+inherited
+
+ +

Send currentTemperature event to report actual temperature (measured by a sensor)

+
Parameters
+ + + + +
temperaturefloat actual temperature measured by a sensor
humidityfloat (optional) actual humidity measured by a sensor (default=-1.0f means not supported)
cause(optional) String reason why event is sent (default = "PERIODIC_POLL")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendThermostatModeEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendThermostatModeEvent (String thermostatMode,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send thermostatMode event to report a the new mode the device has been set to.

+
Parameters
+ + + +
thermostatModeString with actual mode (AUTO, COOL, HEAT) the device is set to
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.js new file mode 100644 index 0000000..6687c1b --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.js @@ -0,0 +1,12 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat = +[ + [ "onAdjustTargetTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#ac51f6fecfdf4c7bc8e0712e2da47bbf4", null ], + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "onTargetTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#a1c73725f1f3fbb1c5b72208aae5c2bf2", null ], + [ "onThermostatMode", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#a2ef31536973b20815dd6c80a28e19c9f", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#a04266791a4b23e9614b8773edb5f67b6", null ], + [ "sendTargetTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#ab8b7fdd977a0a38413f2279b50274890", null ], + [ "sendTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#a75956fe7aff6e595a9b57519316ff789", null ], + [ "sendThermostatModeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#ae7273cd094f64a93494ae99501fc83e8", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat__inherit__graph.map new file mode 100644 index 0000000..b79a6b0 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat__inherit__graph.map @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat__inherit__graph.md5 new file mode 100644 index 0000000..94482fe --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat__inherit__graph.md5 @@ -0,0 +1 @@ +f10c4f1f5ac81f2424d99f0b04056e74 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat__inherit__graph.png new file mode 100644 index 0000000..952f904 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c-members.html new file mode 100644 index 0000000..8ed89a1 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c-members.html @@ -0,0 +1,120 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
SinricProWindowAC Member List
+
+
+ +

This is the complete list of members for SinricProWindowAC, including all inherited members.

+ + + + + + + + + + + + + + +
onAdjustRangeValue(AdjustRangeValueCallback cb)RangeController< SinricProWindowAC >
onAdjustTargetTemperature(AdjustTargetTemperatureCallback cb)ThermostatController< SinricProWindowAC >
onPowerState(PowerStateCallback cb)PowerStateController< SinricProWindowAC >
onRangeValue(SetRangeValueCallback cb)RangeController< SinricProWindowAC >
onRangeValue(const String &instance, GenericSetRangeValueCallback_int cb)RangeController< SinricProWindowAC >
onTargetTemperature(SetTargetTemperatureCallback cb)ThermostatController< SinricProWindowAC >
onThermostatMode(ThermostatModeCallback cb)ThermostatController< SinricProWindowAC >
sendPowerStateEvent(bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)PowerStateController< SinricProWindowAC >
sendPushNotification(String notification)PushNotification< SinricProWindowAC >
sendRangeValueEvent(int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)RangeController< SinricProWindowAC >
sendRangeValueEvent(const String &instance, int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)RangeController< SinricProWindowAC >
sendTargetTemperatureEvent(float temperature, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ThermostatController< SinricProWindowAC >
sendThermostatModeEvent(String thermostatMode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ThermostatController< SinricProWindowAC >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html new file mode 100644 index 0000000..e6595ef --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html @@ -0,0 +1,767 @@ + + + + + + + +SinricPro Library: SinricProWindowAC + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SinricProWindowAC
+
+
+ +

Device to control Window Air Conditioner. + More...

+ +

#include <SinricProWindowAC.h>

+
+Inheritance diagram for SinricProWindowAC:
+
+
Inheritance graph
+ + + + + + + + + + + + + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

bool sendPushNotification (String notification)
 Sending push notifications to SinricPro App.
 
void onPowerState (PowerStateCallback cb)
 Set callback function for powerState request.
 
bool sendPowerStateEvent (bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setPowerState event to SinricPro Server indicating actual power state.
 
void onRangeValue (SetRangeValueCallback cb)
 Set callback function for setRangeValue request.
 
void onRangeValue (const String &instance, GenericSetRangeValueCallback_int cb)
 Set callback function for setRangeValue request on a specific instance (custom device)
 
void onAdjustRangeValue (AdjustRangeValueCallback cb)
 Set callback function for adjustRangeValue request.
 
bool sendRangeValueEvent (int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send rangeValue event to report curent rangeValue to SinricPro server.
 
bool sendRangeValueEvent (const String &instance, int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send rangeValue event to report curent rangeValue to SinricPro server for a specific instance (custom device)
 
void onThermostatMode (ThermostatModeCallback cb)
 Set callback function for setThermostatMode request.
 
void onTargetTemperature (SetTargetTemperatureCallback cb)
 Set callback function for targetTemperature request.
 
void onAdjustTargetTemperature (AdjustTargetTemperatureCallback cb)
 Set callback function for adjustTargetTemperature request.
 
bool sendThermostatModeEvent (String thermostatMode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send thermostatMode event to report a the new mode the device has been set to.
 
bool sendTargetTemperatureEvent (float temperature, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send targetTemperature event to report target temperature change.
 
+

Detailed Description

+

Device to control Window Air Conditioner.

+

Support

    +
  • Set / adjust target temperature
  • +
  • Set mode AUTO, COOL, HEAT
  • +
  • Set range value
  • +
  • Report target temperature
  • +
  • Report actual temperature
  • +
+

Member Function Documentation

+ +

◆ onAdjustRangeValue()

+ +
+
+ + + + + +
+ + + + + + + + +
void onAdjustRangeValue (AdjustRangeValueCallback cb)
+
+inherited
+
+ +

Set callback function for adjustRangeValue request.

+
Parameters
+ + +
cbFunction pointer to a AdjustRangeValueCallback function
+
+
+
See also
AdjustRangeValueCallback
+ +
+
+ +

◆ onAdjustTargetTemperature()

+ +
+
+ + + + + +
+ + + + + + + + +
void onAdjustTargetTemperature (AdjustTargetTemperatureCallback cb)
+
+inherited
+
+ +

Set callback function for adjustTargetTemperature request.

+
Parameters
+ + +
cbFunction pointer to a AdjustTargetTemperatureCallback function
+
+
+
Returns
void
+
See also
AdjustTargetTemperatureCallback
+ +
+
+ +

◆ onPowerState()

+ +
+
+ + + + + +
+ + + + + + + + +
void onPowerState (PowerStateCallback cb)
+
+inherited
+
+ +

Set callback function for powerState request.

+
Parameters
+ + +
cbFunction pointer to a PowerStateCallback function
+
+
+
Returns
void
+
See also
PowerStateCallback
+ +
+
+ +

◆ onRangeValue() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void onRangeValue (const String & instance,
GenericSetRangeValueCallback_int cb 
)
+
+inherited
+
+ +

Set callback function for setRangeValue request on a specific instance (custom device)

+
Parameters
+ + + +
instanceString instance name (custom device)
cbFunction pointer to a GenericSetRangeValueCallback function
+
+
+
See also
GenericSetRangeValueCallback
+ +
+
+ +

◆ onRangeValue() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void onRangeValue (SetRangeValueCallback cb)
+
+inherited
+
+ +

Set callback function for setRangeValue request.

+
Parameters
+ + +
cbFunction pointer to a SetRangeValueCallback function
+
+
+
See also
SetRangeValueCallback
+ +
+
+ +

◆ onTargetTemperature()

+ +
+
+ + + + + +
+ + + + + + + + +
void onTargetTemperature (SetTargetTemperatureCallback cb)
+
+inherited
+
+ +

Set callback function for targetTemperature request.

+
Parameters
+ + +
cbFunction pointer to a SetTargetTemperatureCallback function
+
+
+
Returns
void
+
See also
SetTargetTemperatureCallback
+ +
+
+ +

◆ onThermostatMode()

+ +
+
+ + + + + +
+ + + + + + + + +
void onThermostatMode (ThermostatModeCallback cb)
+
+inherited
+
+ +

Set callback function for setThermostatMode request.

+
Parameters
+ + +
cbFunction pointer to a ThermostatModeCallback function
+
+
+
Returns
void
+
See also
ThermostatModeCallback
+ +
+
+ +

◆ sendPowerStateEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendPowerStateEvent (bool state,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send setPowerState event to SinricPro Server indicating actual power state.

+
Parameters
+ + + +
statetrue = device turned on
+ false = device turned off
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendPushNotification()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sendPushNotification (String notification)
+
+inherited
+
+ +

Sending push notifications to SinricPro App.

+
Parameters
+ + +
notificationString with the notification
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendRangeValueEvent() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sendRangeValueEvent (const String & instance,
int rangeValue,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send rangeValue event to report curent rangeValue to SinricPro server for a specific instance (custom device)

+
Parameters
+ + + + +
instanceString instance name
rangeValueValue between 0..3
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendRangeValueEvent() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendRangeValueEvent (int rangeValue,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send rangeValue event to report curent rangeValue to SinricPro server.

+
Parameters
+ + + +
rangeValueValue between 0..3
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendTargetTemperatureEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendTargetTemperatureEvent (float temperature,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send targetTemperature event to report target temperature change.

+
Parameters
+ + + +
temperatureFloat with actual target temperature the device is set to
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendThermostatModeEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool sendThermostatModeEvent (String thermostatMode,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+inherited
+
+ +

Send thermostatMode event to report a the new mode the device has been set to.

+
Parameters
+ + + +
thermostatModeString with actual mode (AUTO, COOL, HEAT) the device is set to
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.js new file mode 100644 index 0000000..ef23e94 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.js @@ -0,0 +1,16 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c = +[ + [ "onAdjustRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#ae85696d55112ae7343f9807faee6e064", null ], + [ "onAdjustTargetTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#ac51f6fecfdf4c7bc8e0712e2da47bbf4", null ], + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a6d6d8070b49c8b5272460836a1120b33", null ], + [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a94adbcdf6ce61cb6552a5f9915e705ae", null ], + [ "onTargetTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a1c73725f1f3fbb1c5b72208aae5c2bf2", null ], + [ "onThermostatMode", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a2ef31536973b20815dd6c80a28e19c9f", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a04266791a4b23e9614b8773edb5f67b6", null ], + [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#aaf84aa417e2246843a27e819898e64b5", null ], + [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a1d726751c416fe6dd408e5dd19f6b53b", null ], + [ "sendTargetTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#ab8b7fdd977a0a38413f2279b50274890", null ], + [ "sendThermostatModeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#ae7273cd094f64a93494ae99501fc83e8", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c__inherit__graph.map new file mode 100644 index 0000000..ac2313f --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c__inherit__graph.map @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c__inherit__graph.md5 new file mode 100644 index 0000000..7aee496 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c__inherit__graph.md5 @@ -0,0 +1 @@ +07f39ec36e65c1b27a4af32da08ef182 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c__inherit__graph.png new file mode 100644 index 0000000..10718bc Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor-members.html new file mode 100644 index 0000000..ab079af --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor-members.html @@ -0,0 +1,108 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
TemperatureSensor< T > Member List
+
+
+ +

This is the complete list of members for TemperatureSensor< T >, including all inherited members.

+ + +
sendTemperatureEvent(float temperature, float humidity=-1, String cause=FSTR_SINRICPRO_PERIODIC_POLL)TemperatureSensor< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html new file mode 100644 index 0000000..fb651c7 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html @@ -0,0 +1,194 @@ + + + + + + + +SinricPro Library: TemperatureSensor< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
TemperatureSensor< T >
+
+
+ +

TemperatureSensor. + More...

+ +

#include <TemperatureSensor.h>

+
+Inheritance diagram for TemperatureSensor< T >:
+
+
Inheritance graph
+ + + + + + + + + + + +
[legend]
+ + + + + +

+Public Member Functions

bool sendTemperatureEvent (float temperature, float humidity=-1, String cause=FSTR_SINRICPRO_PERIODIC_POLL)
 Send currentTemperature event to report actual temperature (measured by a sensor)
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::TemperatureSensor< T >

TemperatureSensor.

+

Member Function Documentation

+ +

◆ sendTemperatureEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sendTemperatureEvent (float temperature,
float humidity = -1,
String cause = FSTR_SINRICPRO_PERIODIC_POLL 
)
+
+ +

Send currentTemperature event to report actual temperature (measured by a sensor)

+
Parameters
+ + + + +
temperaturefloat actual temperature measured by a sensor
humidityfloat (optional) actual humidity measured by a sensor (default=-1.0f means not supported)
cause(optional) String reason why event is sent (default = "PERIODIC_POLL")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.js new file mode 100644 index 0000000..f2e082b --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.js @@ -0,0 +1,4 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor = +[ + [ "sendTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html#a75956fe7aff6e595a9b57519316ff789", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor__inherit__graph.map new file mode 100644 index 0000000..1355efb --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor__inherit__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor__inherit__graph.md5 new file mode 100644 index 0000000..dda6550 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor__inherit__graph.md5 @@ -0,0 +1 @@ +7596a2c9b9a626b357f5844c6c11af4c \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor__inherit__graph.png new file mode 100644 index 0000000..d7f50bf Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller-members.html new file mode 100644 index 0000000..36b60fd --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller-members.html @@ -0,0 +1,112 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
ThermostatController< T > Member List
+
+
+ +

This is the complete list of members for ThermostatController< T >, including all inherited members.

+ + + + + + +
onAdjustTargetTemperature(AdjustTargetTemperatureCallback cb)ThermostatController< T >
onTargetTemperature(SetTargetTemperatureCallback cb)ThermostatController< T >
onThermostatMode(ThermostatModeCallback cb)ThermostatController< T >
sendTargetTemperatureEvent(float temperature, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ThermostatController< T >
sendThermostatModeEvent(String thermostatMode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ThermostatController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html new file mode 100644 index 0000000..1c7a46c --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html @@ -0,0 +1,336 @@ + + + + + + + +SinricPro Library: ThermostatController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
ThermostatController< T >
+
+
+ +

ThermostatController. + More...

+ +

#include <ThermostatController.h>

+
+Inheritance diagram for ThermostatController< T >:
+
+
Inheritance graph
+ + + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + +

+Public Member Functions

void onThermostatMode (ThermostatModeCallback cb)
 Set callback function for setThermostatMode request.
 
void onTargetTemperature (SetTargetTemperatureCallback cb)
 Set callback function for targetTemperature request.
 
void onAdjustTargetTemperature (AdjustTargetTemperatureCallback cb)
 Set callback function for adjustTargetTemperature request.
 
bool sendThermostatModeEvent (String thermostatMode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send thermostatMode event to report a the new mode the device has been set to.
 
bool sendTargetTemperatureEvent (float temperature, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send targetTemperature event to report target temperature change.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::ThermostatController< T >

ThermostatController.

+

Member Function Documentation

+ +

◆ onAdjustTargetTemperature()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onAdjustTargetTemperature (AdjustTargetTemperatureCallback cb)
+
+ +

Set callback function for adjustTargetTemperature request.

+
Parameters
+ + +
cbFunction pointer to a AdjustTargetTemperatureCallback function
+
+
+
Returns
void
+
See also
AdjustTargetTemperatureCallback
+ +
+
+ +

◆ onTargetTemperature()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onTargetTemperature (SetTargetTemperatureCallback cb)
+
+ +

Set callback function for targetTemperature request.

+
Parameters
+ + +
cbFunction pointer to a SetTargetTemperatureCallback function
+
+
+
Returns
void
+
See also
SetTargetTemperatureCallback
+ +
+
+ +

◆ onThermostatMode()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onThermostatMode (ThermostatModeCallback cb)
+
+ +

Set callback function for setThermostatMode request.

+
Parameters
+ + +
cbFunction pointer to a ThermostatModeCallback function
+
+
+
Returns
void
+
See also
ThermostatModeCallback
+ +
+
+ +

◆ sendTargetTemperatureEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
bool sendTargetTemperatureEvent (float temperature,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send targetTemperature event to report target temperature change.

+
Parameters
+ + + +
temperatureFloat with actual target temperature the device is set to
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+ +

◆ sendThermostatModeEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
bool sendThermostatModeEvent (String thermostatMode,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send thermostatMode event to report a the new mode the device has been set to.

+
Parameters
+ + + +
thermostatModeString with actual mode (AUTO, COOL, HEAT) the device is set to
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.js new file mode 100644 index 0000000..dca5e1a --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.js @@ -0,0 +1,8 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller = +[ + [ "onAdjustTargetTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#ac51f6fecfdf4c7bc8e0712e2da47bbf4", null ], + [ "onTargetTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#a1c73725f1f3fbb1c5b72208aae5c2bf2", null ], + [ "onThermostatMode", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#a2ef31536973b20815dd6c80a28e19c9f", null ], + [ "sendTargetTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#ab8b7fdd977a0a38413f2279b50274890", null ], + [ "sendThermostatModeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#ae7273cd094f64a93494ae99501fc83e8", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller__inherit__graph.map new file mode 100644 index 0000000..4181b32 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller__inherit__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller__inherit__graph.md5 new file mode 100644 index 0000000..aa1c5c9 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller__inherit__graph.md5 @@ -0,0 +1 @@ +730e4c209c312037938008e99917be1c \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller__inherit__graph.png new file mode 100644 index 0000000..2c05778 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller__inherit__graph.png differ diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller-members.html new file mode 100644 index 0000000..6155dcb --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller-members.html @@ -0,0 +1,109 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
ToggleController< T > Member List
+
+
+ +

This is the complete list of members for ToggleController< T >, including all inherited members.

+ + + +
onToggleState(const String &instance, GenericToggleStateCallback cb)ToggleController< T >
sendToggleStateEvent(const String &instance, bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)ToggleController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.html new file mode 100644 index 0000000..2d239fc --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.html @@ -0,0 +1,223 @@ + + + + + + + +SinricPro Library: ToggleController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
ToggleController< T >
+
+
+ +

ToggleController. + More...

+ +

#include <ToggleController.h>

+ + + + + + + + +

+Public Member Functions

void onToggleState (const String &instance, GenericToggleStateCallback cb)
 Set callback function for toggleState request.
 
bool sendToggleStateEvent (const String &instance, bool state, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setToggleState event to SinricPro Server indicating actual toggle state.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::ToggleController< T >

ToggleController.

+

Member Function Documentation

+ +

◆ onToggleState()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
void onToggleState (const String & instance,
GenericToggleStateCallback cb 
)
+
+ +

Set callback function for toggleState request.

+
Parameters
+ + + +
instanceString instance name (custom device)
cbFunction pointer to a ToggleStateCallback function
+
+
+
Returns
void
+
See also
ToggleStateCallback
+ +
+
+ +

◆ sendToggleStateEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sendToggleStateEvent (const String & instance,
bool state,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send setToggleState event to SinricPro Server indicating actual toggle state.

+
Parameters
+ + + + +
instanceString instance name (custom device)
statetrue = state turned on
+ false = tate turned off
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the even
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.js new file mode 100644 index 0000000..a7f2d1d --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.js @@ -0,0 +1,5 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller = +[ + [ "onToggleState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.html#a7ccd28a4f20922847d0461649af5572d", null ], + [ "sendToggleStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.html#a7fcc5084fea488e5b5e95f5ad7015a0f", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller-members.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller-members.html new file mode 100644 index 0000000..35ae38f --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller-members.html @@ -0,0 +1,110 @@ + + + + + + + +SinricPro Library: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
VolumeController< T > Member List
+
+
+ +

This is the complete list of members for VolumeController< T >, including all inherited members.

+ + + + +
onAdjustVolume(AdjustVolumeCallback cb)VolumeController< T >
onSetVolume(SetVolumeCallback cb)VolumeController< T >
sendVolumeEvent(int volume, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)VolumeController< T >
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html new file mode 100644 index 0000000..1eec535 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html @@ -0,0 +1,253 @@ + + + + + + + +SinricPro Library: VolumeController< T > + + + + + + + + + + + + + +
+
+ + + + + + +
+
SinricPro Library +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
VolumeController< T >
+
+
+ +

VolumeController. + More...

+ +

#include <VolumeController.h>

+
+Inheritance diagram for VolumeController< T >:
+
+
Inheritance graph
+ + + + + + + + + + + +
[legend]
+ + + + + + + + + + + +

+Public Member Functions

void onSetVolume (SetVolumeCallback cb)
 Set callback function for setVolume request.
 
void onAdjustVolume (AdjustVolumeCallback cb)
 Set callback function for adjustVolume request.
 
bool sendVolumeEvent (int volume, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
 Send setVolume event to SinricPro Server indicating actual volume has changed.
 
+

Detailed Description

+
template<typename T>
+class SINRICPRO_3_0_0::VolumeController< T >

VolumeController.

+

Member Function Documentation

+ +

◆ onAdjustVolume()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onAdjustVolume (AdjustVolumeCallback cb)
+
+ +

Set callback function for adjustVolume request.

+
Parameters
+ + +
cbFunction pointer to a AdjustVolumeCallback function
+
+
+
Returns
void
+
See also
AdjustVolumeCallback
+ +
+
+ +

◆ onSetVolume()

+ +
+
+
+template<typename T >
+ + + + + + + + +
void onSetVolume (SetVolumeCallback cb)
+
+ +

Set callback function for setVolume request.

+
Parameters
+ + +
cbFunction pointer to a SetVolumeCallback function
+
+
+
Returns
void
+
See also
SetVolumeCallback
+ +
+
+ +

◆ sendVolumeEvent()

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
bool sendVolumeEvent (int volume,
String cause = FSTR_SINRICPRO_PHYSICAL_INTERACTION 
)
+
+ +

Send setVolume event to SinricPro Server indicating actual volume has changed.

+
Parameters
+ + + +
volumeInteger reporting the volume that the device have been set to
cause(optional) Reason why event is sent (default = "PHYSICAL_INTERACTION")
+
+
+
Returns
the success of sending the event
+
Return values
+ + + +
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
+
+
+ +
+
+
+
+ + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.js b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.js new file mode 100644 index 0000000..e6e78d0 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.js @@ -0,0 +1,6 @@ +var class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller = +[ + [ "onAdjustVolume", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html#a2c868c87f96e3924c8b309e1bcfb507e", null ], + [ "onSetVolume", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html#a5db8c85f222debbece54c794015f9402", null ], + [ "sendVolumeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html#aa2d3dbea5b07e4c5f39d3d20aa2167a4", null ] +]; \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller__inherit__graph.map b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller__inherit__graph.map new file mode 100644 index 0000000..f136b03 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller__inherit__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller__inherit__graph.md5 b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller__inherit__graph.md5 new file mode 100644 index 0000000..63516f6 --- /dev/null +++ b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller__inherit__graph.md5 @@ -0,0 +1 @@ +aa1d858617f31d686f947f92d0150372 \ No newline at end of file diff --git a/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller__inherit__graph.png b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller__inherit__graph.png new file mode 100644 index 0000000..6c6a517 Binary files /dev/null and b/docs/class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller__inherit__graph.png differ diff --git a/docs/classes.html b/docs/classes.html index 69cb5c6..5f9db65 100644 --- a/docs/classes.html +++ b/docs/classes.html @@ -1,9 +1,9 @@ - + - - + + SinricPro Library: Class Index @@ -23,8 +23,8 @@
- - + @@ -33,21 +33,22 @@
+
SinricPro Library
- + +/* @license-end */ +
@@ -61,7 +62,7 @@
@@ -75,67 +76,73 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
Class Index
+
Class Index
A | B | C | D | E | I | K | L | M | P | R | S | T | V
-
A
-
AirQualitySensor (SINRICPRO_2_9_17)
+
A
+
AirQualitySensor (SINRICPRO_3_0_0)
-
B
-
BrightnessController (SINRICPRO_2_9_17)
+
B
+
BrightnessController (SINRICPRO_3_0_0)
-
C
-
ChannelController (SINRICPRO_2_9_17)
ColorController (SINRICPRO_2_9_17)
ColorTemperatureController (SINRICPRO_2_9_17)
ContactSensor (SINRICPRO_2_9_17)
+
C
+
ChannelController (SINRICPRO_3_0_0)
ColorController (SINRICPRO_3_0_0)
ColorTemperatureController (SINRICPRO_3_0_0)
ContactSensor (SINRICPRO_3_0_0)
-
D
-
Doorbell (SINRICPRO_2_9_17)
DoorController (SINRICPRO_2_9_17)
+
D
+
Doorbell (SINRICPRO_3_0_0)
DoorController (SINRICPRO_3_0_0)
-
E
-
EqualizerController (SINRICPRO_2_9_17)
+
E
+
EqualizerController (SINRICPRO_3_0_0)
-
I
-
InputController (SINRICPRO_2_9_17)
+
I
+
InputController (SINRICPRO_3_0_0)
-
K
-
KeypadController (SINRICPRO_2_9_17)
+
K
+
KeypadController (SINRICPRO_3_0_0)
-
L
-
LockController (SINRICPRO_2_9_17)
+
L
+
LockController (SINRICPRO_3_0_0)
-
M
-
MediaController (SINRICPRO_2_9_17)
ModeController (SINRICPRO_2_9_17)
MotionSensor (SINRICPRO_2_9_17)
MuteController (SINRICPRO_2_9_17)
+
M
+
MediaController (SINRICPRO_3_0_0)
ModeController (SINRICPRO_3_0_0)
MotionSensor (SINRICPRO_3_0_0)
MuteController (SINRICPRO_3_0_0)
-
P
-
PercentageController (SINRICPRO_2_9_17)
PowerLevelController (SINRICPRO_2_9_17)
PowerSensor (SINRICPRO_2_9_17)
PowerStateController (SINRICPRO_2_9_17)
PushNotification (SINRICPRO_2_9_17)
+
P
+
PercentageController (SINRICPRO_3_0_0)
PowerLevelController (SINRICPRO_3_0_0)
PowerSensor (SINRICPRO_3_0_0)
PowerStateController (SINRICPRO_3_0_0)
PushNotification (SINRICPRO_3_0_0)
-
R
-
RangeController (SINRICPRO_2_9_17)
+
R
+
RangeController (SINRICPRO_3_0_0)
-
S
-
SinricProAirQualitySensor (SINRICPRO_2_9_17)
SinricProBlinds (SINRICPRO_2_9_17)
SinricProCamera (SINRICPRO_2_9_17)
SinricProClass (SINRICPRO_2_9_17)
SinricProContactsensor (SINRICPRO_2_9_17)
SinricProDevice (SINRICPRO_2_9_17)
SinricProDimSwitch (SINRICPRO_2_9_17)
SinricProDoorbell (SINRICPRO_2_9_17)
SinricProFan (SINRICPRO_2_9_17)
SinricProFanUS (SINRICPRO_2_9_17)
SinricProGarageDoor (SINRICPRO_2_9_17)
SinricProLight (SINRICPRO_2_9_17)
SinricProLock (SINRICPRO_2_9_17)
SinricProMotionsensor (SINRICPRO_2_9_17)
SinricProPowerSensor (SINRICPRO_2_9_17)
SinricProSpeaker (SINRICPRO_2_9_17)
SinricProSwitch (SINRICPRO_2_9_17)
SinricProTemperaturesensor (SINRICPRO_2_9_17)
SinricProThermostat (SINRICPRO_2_9_17)
SinricProTV (SINRICPRO_2_9_17)
SinricProWindowAC (SINRICPRO_2_9_17)
+
S
+
SinricProAirQualitySensor (SINRICPRO_3_0_0)
SinricProBlinds (SINRICPRO_3_0_0)
SinricProCamera (SINRICPRO_3_0_0)
SinricProClass (SINRICPRO_3_0_0)
SinricProContactsensor (SINRICPRO_3_0_0)
SinricProDevice (SINRICPRO_3_0_0)
SinricProDimSwitch (SINRICPRO_3_0_0)
SinricProDoorbell (SINRICPRO_3_0_0)
SinricProFan (SINRICPRO_3_0_0)
SinricProFanUS (SINRICPRO_3_0_0)
SinricProGarageDoor (SINRICPRO_3_0_0)
SinricProLight (SINRICPRO_3_0_0)
SinricProLock (SINRICPRO_3_0_0)
SinricProMotionsensor (SINRICPRO_3_0_0)
SinricProPowerSensor (SINRICPRO_3_0_0)
SinricProSpeaker (SINRICPRO_3_0_0)
SinricProSwitch (SINRICPRO_3_0_0)
SinricProTemperaturesensor (SINRICPRO_3_0_0)
SinricProThermostat (SINRICPRO_3_0_0)
SinricProTV (SINRICPRO_3_0_0)
SinricProWindowAC (SINRICPRO_3_0_0)
-
T
-
TemperatureSensor (SINRICPRO_2_9_17)
ThermostatController (SINRICPRO_2_9_17)
ToggleController (SINRICPRO_2_9_17)
+
T
+
TemperatureSensor (SINRICPRO_3_0_0)
ThermostatController (SINRICPRO_3_0_0)
ToggleController (SINRICPRO_3_0_0)
-
V
-
VolumeController (SINRICPRO_2_9_17)
+
V
+
VolumeController (SINRICPRO_3_0_0)
diff --git a/docs/dir_7df6307e8ce44a8864ff8c0ace2ba173.html b/docs/dir_7df6307e8ce44a8864ff8c0ace2ba173.html index 171ae28..34c3be3 100644 --- a/docs/dir_7df6307e8ce44a8864ff8c0ace2ba173.html +++ b/docs/dir_7df6307e8ce44a8864ff8c0ace2ba173.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src Directory Reference +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src Directory Reference @@ -23,8 +23,8 @@
- - + @@ -33,21 +33,22 @@
+
SinricPro Library
- + +/* @license-end */ +
@@ -61,7 +62,7 @@
@@ -75,19 +76,112 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
src Directory Reference
+
src Directory Reference
+
+Directory dependency graph for src:
+
+
C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src
+ + + + + +
- + + +

+

Directories

 Capabilities
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

 EventLimiter.h
 
 SinricPro.h
 
 SinricProAirQualitySensor.h
 
 SinricProBlinds.h
 
 SinricProCamera.h
 
 SinricProConfig.h
 
 SinricProContactsensor.h
 
 SinricProDebug.h
 
 SinricProDevice.h
 
 SinricProDeviceInterface.h
 
 SinricProDimSwitch.h
 
 SinricProDoorbell.h
 
 SinricProFan.h
 
 SinricProFanUS.h
 
 SinricProGarageDoor.h
 
 SinricProInterface.h
 
 SinricProLight.h
 
 SinricProLock.h
 
 SinricProMessageid.h
 
 SinricProMotionsensor.h
 
 SinricProNamespace.h
 
 SinricProPowerSensor.h
 
 SinricProQueue.h
 
 SinricProRequest.h
 
 SinricProSignature.h
 
 SinricProSpeaker.h
 
 SinricProStrings.h
 
 SinricProSwitch.h
 
 SinricProTemperaturesensor.h
 
 SinricProThermostat.h
 
 SinricProTV.h
 
 SinricProUDP.h
 
 SinricProVersion.h
 
 SinricProWebsocket.h
 
 SinricProWindowAC.h
 
 Timestamp.h
 
@@ -95,7 +189,7 @@ diff --git a/docs/dir_7df6307e8ce44a8864ff8c0ace2ba173_dep.map b/docs/dir_7df6307e8ce44a8864ff8c0ace2ba173_dep.map new file mode 100644 index 0000000..4120965 --- /dev/null +++ b/docs/dir_7df6307e8ce44a8864ff8c0ace2ba173_dep.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/dir_7df6307e8ce44a8864ff8c0ace2ba173_dep.md5 b/docs/dir_7df6307e8ce44a8864ff8c0ace2ba173_dep.md5 new file mode 100644 index 0000000..a7c1f32 --- /dev/null +++ b/docs/dir_7df6307e8ce44a8864ff8c0ace2ba173_dep.md5 @@ -0,0 +1 @@ +635346706a992e709aefd2bc3d838830 \ No newline at end of file diff --git a/docs/dir_7df6307e8ce44a8864ff8c0ace2ba173_dep.png b/docs/dir_7df6307e8ce44a8864ff8c0ace2ba173_dep.png new file mode 100644 index 0000000..c2e4d81 Binary files /dev/null and b/docs/dir_7df6307e8ce44a8864ff8c0ace2ba173_dep.png differ diff --git a/docs/dir_92f480b6bb910a384a17c290a6146620.html b/docs/dir_92f480b6bb910a384a17c290a6146620.html index b15e186..b84b99d 100644 --- a/docs/dir_92f480b6bb910a384a17c290a6146620.html +++ b/docs/dir_92f480b6bb910a384a17c290a6146620.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk Directory Reference +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk Directory Reference @@ -23,8 +23,8 @@
- - + @@ -33,21 +33,22 @@
+
SinricPro Library
- + +/* @license-end */ +
@@ -61,7 +62,7 @@
@@ -75,19 +76,27 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
esp8266-esp32-sdk Directory Reference
+
esp8266-esp32-sdk Directory Reference
- + +

+

Directories

 src
 
@@ -95,7 +104,7 @@ diff --git a/docs/dir_aa16df8496461ec3bcf35908592889b5.html b/docs/dir_aa16df8496461ec3bcf35908592889b5.html index b88f459..8653094 100644 --- a/docs/dir_aa16df8496461ec3bcf35908592889b5.html +++ b/docs/dir_aa16df8496461ec3bcf35908592889b5.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: C:/Users/Boris/.platformio/lib/esp8266-esp32-sdk/src/Capabilities Directory Reference +SinricPro Library: C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities Directory Reference @@ -23,8 +23,8 @@
- - + @@ -33,21 +33,22 @@
+
SinricPro Library
- + +/* @license-end */ +
@@ -61,7 +62,7 @@
@@ -75,23 +76,96 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
Capabilities Directory Reference
+
Capabilities Directory Reference
+
+Directory dependency graph for Capabilities:
+
+
C:/Users/boris/Documents/SinricPro/esp8266-esp32-sdk/src/Capabilities
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

 AirQualitySensor.h
 
 BrightnessController.h
 
 ChannelController.h
 
 ColorController.h
 
 ColorTemperatureController.h
 
 ContactSensor.h
 
 Doorbell.h
 
 DoorController.h
 
 EqualizerController.h
 
 InputController.h
 
 KeypadController.h
 
 LockController.h
 
 MediaController.h
 
 ModeController.h
 
 MotionSensor.h
 
 MuteController.h
 
 PercentageController.h
 
 PowerLevelController.h
 
 PowerSensor.h
 
 PowerStateController.h
 
 PushNotification.h
 
 RangeController.h
 
 SettingController.h
 
 TemperatureSensor.h
 
 ThermostatController.h
 
 ToggleController.h
 
 VolumeController.h
 
diff --git a/docs/dir_aa16df8496461ec3bcf35908592889b5_dep.map b/docs/dir_aa16df8496461ec3bcf35908592889b5_dep.map new file mode 100644 index 0000000..d8ca75e --- /dev/null +++ b/docs/dir_aa16df8496461ec3bcf35908592889b5_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_aa16df8496461ec3bcf35908592889b5_dep.md5 b/docs/dir_aa16df8496461ec3bcf35908592889b5_dep.md5 new file mode 100644 index 0000000..1198d42 --- /dev/null +++ b/docs/dir_aa16df8496461ec3bcf35908592889b5_dep.md5 @@ -0,0 +1 @@ +7bf44ef599721a02c86ce13916c4fc6c \ No newline at end of file diff --git a/docs/dir_aa16df8496461ec3bcf35908592889b5_dep.png b/docs/dir_aa16df8496461ec3bcf35908592889b5_dep.png new file mode 100644 index 0000000..28c1315 Binary files /dev/null and b/docs/dir_aa16df8496461ec3bcf35908592889b5_dep.png differ diff --git a/docs/doc.svg b/docs/doc.svg new file mode 100644 index 0000000..0b928a5 --- /dev/null +++ b/docs/doc.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/docs/docd.svg b/docs/docd.svg new file mode 100644 index 0000000..ac18b27 --- /dev/null +++ b/docs/docd.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/docs/doxygen.css b/docs/doxygen.css index ffbff02..009a9b5 100644 --- a/docs/doxygen.css +++ b/docs/doxygen.css @@ -1,29 +1,378 @@ -/* The standard CSS for doxygen 1.9.1 */ - -body, table, div, p, dl { - font: 400 14px/22px Roboto,sans-serif; +/* The standard CSS for doxygen 1.9.8*/ + +html { +/* page base colors */ +--page-background-color: white; +--page-foreground-color: black; +--page-link-color: #3D578C; +--page-visited-link-color: #4665A2; + +/* index */ +--index-odd-item-bg-color: #F8F9FC; +--index-even-item-bg-color: white; +--index-header-color: black; +--index-separator-color: #A0A0A0; + +/* header */ +--header-background-color: #F9FAFC; +--header-separator-color: #C4CFE5; +--header-gradient-image: url('nav_h.png'); +--group-header-separator-color: #879ECB; +--group-header-color: #354C7B; +--inherit-header-color: gray; + +--footer-foreground-color: #2A3D61; +--footer-logo-width: 104px; +--citation-label-color: #334975; +--glow-color: cyan; + +--title-background-color: white; +--title-separator-color: #5373B4; +--directory-separator-color: #9CAFD4; +--separator-color: #4A6AAA; + +--blockquote-background-color: #F7F8FB; +--blockquote-border-color: #9CAFD4; + +--scrollbar-thumb-color: #9CAFD4; +--scrollbar-background-color: #F9FAFC; + +--icon-background-color: #728DC1; +--icon-foreground-color: white; +--icon-doc-image: url('doc.svg'); +--icon-folder-open-image: url('folderopen.svg'); +--icon-folder-closed-image: url('folderclosed.svg'); + +/* brief member declaration list */ +--memdecl-background-color: #F9FAFC; +--memdecl-separator-color: #DEE4F0; +--memdecl-foreground-color: #555; +--memdecl-template-color: #4665A2; + +/* detailed member list */ +--memdef-border-color: #A8B8D9; +--memdef-title-background-color: #E2E8F2; +--memdef-title-gradient-image: url('nav_f.png'); +--memdef-proto-background-color: #DFE5F1; +--memdef-proto-text-color: #253555; +--memdef-proto-text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +--memdef-doc-background-color: white; +--memdef-param-name-color: #602020; +--memdef-template-color: #4665A2; + +/* tables */ +--table-cell-border-color: #2D4068; +--table-header-background-color: #374F7F; +--table-header-foreground-color: #FFFFFF; + +/* labels */ +--label-background-color: #728DC1; +--label-left-top-border-color: #5373B4; +--label-right-bottom-border-color: #C4CFE5; +--label-foreground-color: white; + +/** navigation bar/tree/menu */ +--nav-background-color: #F9FAFC; +--nav-foreground-color: #364D7C; +--nav-gradient-image: url('tab_b.png'); +--nav-gradient-hover-image: url('tab_h.png'); +--nav-gradient-active-image: url('tab_a.png'); +--nav-gradient-active-image-parent: url("../tab_a.png"); +--nav-separator-image: url('tab_s.png'); +--nav-breadcrumb-image: url('bc_s.png'); +--nav-breadcrumb-border-color: #C2CDE4; +--nav-splitbar-image: url('splitbar.png'); +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #283A5D; +--nav-text-hover-color: white; +--nav-text-active-color: white; +--nav-text-normal-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-menu-button-color: #364D7C; +--nav-menu-background-color: white; +--nav-menu-foreground-color: #555555; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.5); +--nav-arrow-color: #9CAFD4; +--nav-arrow-selected-color: #9CAFD4; + +/* table of contents */ +--toc-background-color: #F4F6FA; +--toc-border-color: #D8DFEE; +--toc-header-color: #4665A2; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: white; +--search-foreground-color: #909090; +--search-magnification-image: url('mag.svg'); +--search-magnification-select-image: url('mag_sel.svg'); +--search-active-color: black; +--search-filter-background-color: #F9FAFC; +--search-filter-foreground-color: black; +--search-filter-border-color: #90A5CE; +--search-filter-highlight-text-color: white; +--search-filter-highlight-bg-color: #3D578C; +--search-results-foreground-color: #425E97; +--search-results-background-color: #EEF1F7; +--search-results-border-color: black; +--search-box-shadow: inset 0.5px 0.5px 3px 0px #555; + +/** code fragments */ +--code-keyword-color: #008000; +--code-type-keyword-color: #604020; +--code-flow-keyword-color: #E08000; +--code-comment-color: #800000; +--code-preprocessor-color: #806020; +--code-string-literal-color: #002080; +--code-char-literal-color: #008080; +--code-xml-cdata-color: black; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #000000; +--code-vhdl-keyword-color: #700070; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #4665A2; +--code-external-link-color: #4665A2; +--fragment-foreground-color: black; +--fragment-background-color: #FBFCFD; +--fragment-border-color: #C4CFE5; +--fragment-lineno-border-color: #00FF00; +--fragment-lineno-background-color: #E8E8E8; +--fragment-lineno-foreground-color: black; +--fragment-lineno-link-fg-color: #4665A2; +--fragment-lineno-link-bg-color: #D8D8D8; +--fragment-lineno-link-hover-fg-color: #4665A2; +--fragment-lineno-link-hover-bg-color: #C8C8C8; +--tooltip-foreground-color: black; +--tooltip-background-color: white; +--tooltip-border-color: gray; +--tooltip-doc-color: grey; +--tooltip-declaration-color: #006318; +--tooltip-link-color: #4665A2; +--tooltip-shadow: 1px 1px 7px gray; +--fold-line-color: #808080; +--fold-minus-image: url('minus.svg'); +--fold-plus-image: url('plus.svg'); +--fold-minus-image-relpath: url('../../minus.svg'); +--fold-plus-image-relpath: url('../../plus.svg'); + +/** font-family */ +--font-family-normal: Roboto,sans-serif; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: Tahoma,Arial,sans-serif; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +} + +@media (prefers-color-scheme: dark) { + html:not(.dark-mode) { + color-scheme: dark; + +/* page base colors */ +--page-background-color: black; +--page-foreground-color: #C9D1D9; +--page-link-color: #90A5CE; +--page-visited-link-color: #A3B4D7; + +/* index */ +--index-odd-item-bg-color: #0B101A; +--index-even-item-bg-color: black; +--index-header-color: #C4CFE5; +--index-separator-color: #334975; + +/* header */ +--header-background-color: #070B11; +--header-separator-color: #141C2E; +--header-gradient-image: url('nav_hd.png'); +--group-header-separator-color: #283A5D; +--group-header-color: #90A5CE; +--inherit-header-color: #A0A0A0; + +--footer-foreground-color: #5B7AB7; +--footer-logo-width: 60px; +--citation-label-color: #90A5CE; +--glow-color: cyan; + +--title-background-color: #090D16; +--title-separator-color: #354C79; +--directory-separator-color: #283A5D; +--separator-color: #283A5D; + +--blockquote-background-color: #101826; +--blockquote-border-color: #283A5D; + +--scrollbar-thumb-color: #283A5D; +--scrollbar-background-color: #070B11; + +--icon-background-color: #334975; +--icon-foreground-color: #C4CFE5; +--icon-doc-image: url('docd.svg'); +--icon-folder-open-image: url('folderopend.svg'); +--icon-folder-closed-image: url('folderclosedd.svg'); + +/* brief member declaration list */ +--memdecl-background-color: #0B101A; +--memdecl-separator-color: #2C3F65; +--memdecl-foreground-color: #BBB; +--memdecl-template-color: #7C95C6; + +/* detailed member list */ +--memdef-border-color: #233250; +--memdef-title-background-color: #1B2840; +--memdef-title-gradient-image: url('nav_fd.png'); +--memdef-proto-background-color: #19243A; +--memdef-proto-text-color: #9DB0D4; +--memdef-proto-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9); +--memdef-doc-background-color: black; +--memdef-param-name-color: #D28757; +--memdef-template-color: #7C95C6; + +/* tables */ +--table-cell-border-color: #283A5D; +--table-header-background-color: #283A5D; +--table-header-foreground-color: #C4CFE5; + +/* labels */ +--label-background-color: #354C7B; +--label-left-top-border-color: #4665A2; +--label-right-bottom-border-color: #283A5D; +--label-foreground-color: #CCCCCC; + +/** navigation bar/tree/menu */ +--nav-background-color: #101826; +--nav-foreground-color: #364D7C; +--nav-gradient-image: url('tab_bd.png'); +--nav-gradient-hover-image: url('tab_hd.png'); +--nav-gradient-active-image: url('tab_ad.png'); +--nav-gradient-active-image-parent: url("../tab_ad.png"); +--nav-separator-image: url('tab_sd.png'); +--nav-breadcrumb-image: url('bc_sd.png'); +--nav-breadcrumb-border-color: #2A3D61; +--nav-splitbar-image: url('splitbard.png'); +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #B6C4DF; +--nav-text-hover-color: #DCE2EF; +--nav-text-active-color: #DCE2EF; +--nav-text-normal-shadow: 0px 1px 1px black; +--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-menu-button-color: #B6C4DF; +--nav-menu-background-color: #05070C; +--nav-menu-foreground-color: #BBBBBB; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.2); +--nav-arrow-color: #334975; +--nav-arrow-selected-color: #90A5CE; + +/* table of contents */ +--toc-background-color: #151E30; +--toc-border-color: #202E4A; +--toc-header-color: #A3B4D7; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: black; +--search-foreground-color: #C5C5C5; +--search-magnification-image: url('mag_d.svg'); +--search-magnification-select-image: url('mag_seld.svg'); +--search-active-color: #C5C5C5; +--search-filter-background-color: #101826; +--search-filter-foreground-color: #90A5CE; +--search-filter-border-color: #7C95C6; +--search-filter-highlight-text-color: #BCC9E2; +--search-filter-highlight-bg-color: #283A5D; +--search-results-background-color: #101826; +--search-results-foreground-color: #90A5CE; +--search-results-border-color: #7C95C6; +--search-box-shadow: inset 0.5px 0.5px 3px 0px #2F436C; + +/** code fragments */ +--code-keyword-color: #CC99CD; +--code-type-keyword-color: #AB99CD; +--code-flow-keyword-color: #E08000; +--code-comment-color: #717790; +--code-preprocessor-color: #65CABE; +--code-string-literal-color: #7EC699; +--code-char-literal-color: #00E0F0; +--code-xml-cdata-color: #C9D1D9; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #C0C0C0; +--code-vhdl-keyword-color: #CF53C9; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #79C0FF; +--code-external-link-color: #79C0FF; +--fragment-foreground-color: #C9D1D9; +--fragment-background-color: black; +--fragment-border-color: #30363D; +--fragment-lineno-border-color: #30363D; +--fragment-lineno-background-color: black; +--fragment-lineno-foreground-color: #6E7681; +--fragment-lineno-link-fg-color: #6E7681; +--fragment-lineno-link-bg-color: #303030; +--fragment-lineno-link-hover-fg-color: #8E96A1; +--fragment-lineno-link-hover-bg-color: #505050; +--tooltip-foreground-color: #C9D1D9; +--tooltip-background-color: #202020; +--tooltip-border-color: #C9D1D9; +--tooltip-doc-color: #D9E1E9; +--tooltip-declaration-color: #20C348; +--tooltip-link-color: #79C0FF; +--tooltip-shadow: none; +--fold-line-color: #808080; +--fold-minus-image: url('minusd.svg'); +--fold-plus-image: url('plusd.svg'); +--fold-minus-image-relpath: url('../../minusd.svg'); +--fold-plus-image-relpath: url('../../plusd.svg'); + +/** font-family */ +--font-family-normal: Roboto,sans-serif; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: Tahoma,Arial,sans-serif; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +}} +body { + background-color: var(--page-background-color); + color: var(--page-foreground-color); } -p.reference, p.definition { - font: 400 14px/22px Roboto,sans-serif; +body, table, div, p, dl { + font-weight: 400; + font-size: 14px; + font-family: var(--font-family-normal); + line-height: 22px; } /* @group Heading Levels */ -h1.groupheader { - font-size: 150%; -} - .title { - font: 400 14px/28px Roboto,sans-serif; + font-weight: 400; + font-size: 14px; + font-family: var(--font-family-normal); + line-height: 28px; font-size: 150%; font-weight: bold; margin: 10px 2px; } +h1.groupheader { + font-size: 150%; +} + h2.groupheader { - border-bottom: 1px solid #879ECB; - color: #354C7B; + border-bottom: 1px solid var(--group-header-separator-color); + color: var(--group-header-color); font-size: 150%; font-weight: normal; margin-top: 1.75em; @@ -46,22 +395,13 @@ h1, h2, h3, h4, h5, h6 { } h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px cyan; + text-shadow: 0 0 15px var(--glow-color); } dt { font-weight: bold; } -ul.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; - column-count: 3; -} - p.startli, p.startdd { margin-top: 2px; } @@ -113,7 +453,6 @@ h3.version { } div.navtab { - border-right: 1px solid #A3B4D7; padding-right: 15px; text-align: right; line-height: 110%; @@ -127,16 +466,17 @@ td.navtab { padding-right: 6px; padding-left: 6px; } + td.navtabHL { - background-image: url('tab_a.png'); + background-image: var(--nav-gradient-active-image); background-repeat:repeat-x; padding-right: 6px; padding-left: 6px; } td.navtabHL a, td.navtabHL a:visited { - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + color: var(--nav-text-hover-color); + text-shadow: var(--nav-text-hover-shadow); } a.navtab { @@ -148,7 +488,13 @@ div.qindex{ width: 100%; line-height: 140%; font-size: 130%; - color: #A0A0A0; + color: var(--index-separator-color); +} + +#main-menu a:focus { + outline: auto; + z-index: 10; + position: relative; } dt.alphachar{ @@ -157,7 +503,7 @@ dt.alphachar{ } .alphachar a{ - color: black; + color: var(--index-header-color); } .alphachar a:hover, .alphachar a:visited{ @@ -176,8 +522,12 @@ dt.alphachar{ line-height: 1.15em; } +.classindex dl.even { + background-color: var(--index-even-item-bg-color); +} + .classindex dl.odd { - background-color: #F8F9FC; + background-color: var(--index-odd-item-bg-color); } @media(min-width: 1120px) { @@ -196,23 +546,19 @@ dt.alphachar{ /* @group Link Styling */ a { - color: #3D578C; + color: var(--page-link-color); font-weight: normal; text-decoration: none; } .contents a:visited { - color: #4665A2; + color: var(--page-visited-link-color); } a:hover { text-decoration: underline; } -.contents a.qindexHL:visited { - color: #FFFFFF; -} - a.el { font-weight: bold; } @@ -221,12 +567,39 @@ a.elRef { } a.code, a.code:visited, a.line, a.line:visited { - color: #4665A2; + color: var(--code-link-color); } a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #4665A2; -} + color: var(--code-external-link-color); +} + +a.code.hl_class { /* style for links to class names in code snippets */ } +a.code.hl_struct { /* style for links to struct names in code snippets */ } +a.code.hl_union { /* style for links to union names in code snippets */ } +a.code.hl_interface { /* style for links to interface names in code snippets */ } +a.code.hl_protocol { /* style for links to protocol names in code snippets */ } +a.code.hl_category { /* style for links to category names in code snippets */ } +a.code.hl_exception { /* style for links to exception names in code snippets */ } +a.code.hl_service { /* style for links to service names in code snippets */ } +a.code.hl_singleton { /* style for links to singleton names in code snippets */ } +a.code.hl_concept { /* style for links to concept names in code snippets */ } +a.code.hl_namespace { /* style for links to namespace names in code snippets */ } +a.code.hl_package { /* style for links to package names in code snippets */ } +a.code.hl_define { /* style for links to macro names in code snippets */ } +a.code.hl_function { /* style for links to function names in code snippets */ } +a.code.hl_variable { /* style for links to variable names in code snippets */ } +a.code.hl_typedef { /* style for links to typedef names in code snippets */ } +a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ } +a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ } +a.code.hl_signal { /* style for links to Qt signal names in code snippets */ } +a.code.hl_slot { /* style for links to Qt slot names in code snippets */ } +a.code.hl_friend { /* style for links to friend names in code snippets */ } +a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ } +a.code.hl_property { /* style for links to property names in code snippets */ } +a.code.hl_event { /* style for links to event names in code snippets */ } +a.code.hl_sequence { /* style for links to sequence names in code snippets */ } +a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ } /* @end */ @@ -235,7 +608,17 @@ dl.el { } ul { - overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ + overflow: visible; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; + list-style-type: none; } #side-nav ul { @@ -254,30 +637,32 @@ ul { } pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; + border: 1px solid var(--fragment-border-color); + background-color: var(--fragment-background-color); + color: var(--fragment-foreground-color); 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-family: var(--font-family-monospace); font-size: 105%; } div.fragment { - padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ - margin: 4px 8px 4px 2px; - background-color: #FBFCFD; - border: 1px solid #C4CFE5; + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; + color: var(--fragment-foreground-color); + background-color: var(--fragment-background-color); + border: 1px solid var(--fragment-border-color); } div.line { - font-family: monospace, fixed; + font-family: var(--font-family-monospace); font-size: 13px; min-height: 13px; - line-height: 1.0; + line-height: 1.2; text-wrap: unrestricted; white-space: -moz-pre-wrap; /* Moz */ white-space: -pre-wrap; /* Opera 4-6 */ @@ -306,24 +691,40 @@ div.line:after { } div.line.glow { - background-color: cyan; - box-shadow: 0 0 10px cyan; + background-color: var(--glow-color); + box-shadow: 0 0 10px var(--glow-color); } +span.fold { + margin-left: 5px; + margin-right: 1px; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; + display: inline-block; + width: 12px; + height: 12px; + background-repeat:no-repeat; + background-position:center; +} span.lineno { padding-right: 4px; + margin-right: 9px; text-align: right; - border-right: 2px solid #0F0; - background-color: #E8E8E8; + border-right: 2px solid var(--fragment-lineno-border-color); + color: var(--fragment-lineno-foreground-color); + background-color: var(--fragment-lineno-background-color); white-space: pre; } -span.lineno a { - background-color: #D8D8D8; +span.lineno a, span.lineno a:visited { + color: var(--fragment-lineno-link-fg-color); + background-color: var(--fragment-lineno-link-bg-color); } span.lineno a:hover { - background-color: #C8C8C8; + color: var(--fragment-lineno-link-hover-fg-color); + background-color: var(--fragment-lineno-link-hover-bg-color); } .lineno { @@ -335,24 +736,6 @@ span.lineno a:hover { 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; @@ -374,8 +757,7 @@ div.groupText { } body { - background-color: white; - color: black; + color: var(--page-foreground-color); margin: 0; } @@ -385,29 +767,15 @@ div.contents { 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; +p.formulaDsp { + text-align: center; } -tr.memlist { - background-color: #EEF1F7; +img.dark-mode-visible { + display: none; } - -p.formulaDsp { - text-align: center; +img.light-mode-visible { + display: none; } img.formulaDsp { @@ -437,89 +805,74 @@ address.footer { img.footer { border: 0px; vertical-align: middle; + width: var(--footer-logo-width); +} + +.compoundTemplParams { + color: var(--memdecl-template-color); + font-size: 80%; + line-height: 120%; } /* @group Code Colorization */ span.keyword { - color: #008000 + color: var(--code-keyword-color); } span.keywordtype { - color: #604020 + color: var(--code-type-keyword-color); } span.keywordflow { - color: #e08000 + color: var(--code-flow-keyword-color); } span.comment { - color: #800000 + color: var(--code-comment-color); } span.preprocessor { - color: #806020 + color: var(--code-preprocessor-color); } span.stringliteral { - color: #002080 + color: var(--code-string-literal-color); } span.charliteral { - color: #008080 + color: var(--code-char-literal-color); +} + +span.xmlcdata { + color: var(--code-xml-cdata-color); } span.vhdldigit { - color: #ff00ff + color: var(--code-vhdl-digit-color); } span.vhdlchar { - color: #000000 + color: var(--code-vhdl-char-color); } span.vhdlkeyword { - color: #700070 + color: var(--code-vhdl-keyword-color); } span.vhdllogic { - color: #ff0000 + color: var(--code-vhdl-logic-color); } blockquote { - background-color: #F7F8FB; - border-left: 2px solid #9CAFD4; + background-color: var(--blockquote-background-color); + border-left: 2px solid var(--blockquote-border-color); margin: 0 24px 0 4px; padding: 0 12px 0 16px; } -blockquote.DocNodeRTL { - border-left: 0; - border-right: 2px solid #9CAFD4; - margin: 0 4px 0 24px; - padding: 0 16px 0 12px; -} - /* @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%; } @@ -527,18 +880,19 @@ td.tiny { .dirtab { padding: 4px; border-collapse: collapse; - border: 1px solid #A3B4D7; + border: 1px solid var(--table-cell-border-color); } th.dirtab { - background: #EBEFF6; + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); font-weight: bold; } hr { height: 0px; border: none; - border-top: 1px solid #4A6AAA; + border-top: 1px solid var(--separator-color); } hr.footer { @@ -566,14 +920,14 @@ table.memberdecls { } .memberdecls td.glow, .fieldtable tr.glow { - background-color: cyan; - box-shadow: 0 0 15px cyan; + background-color: var(--glow-color); + box-shadow: 0 0 15px var(--glow-color); } .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; + background-color: var(--memdecl-background-color); border: none; margin: 4px; padding: 1px 0 0 8px; @@ -581,11 +935,11 @@ table.memberdecls { .mdescLeft, .mdescRight { padding: 0px 8px 4px 8px; - color: #555; + color: var(--memdecl-foreground-color); } .memSeparator { - border-bottom: 1px solid #DEE4F0; + border-bottom: 1px solid var(--memdecl-separator-color); line-height: 1px; margin: 0px; padding: 0px; @@ -600,7 +954,7 @@ table.memberdecls { } .memTemplParams { - color: #4665A2; + color: var(--memdecl-template-color); white-space: nowrap; font-size: 80%; } @@ -613,15 +967,15 @@ table.memberdecls { .memtitle { padding: 8px; - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); border-top-right-radius: 4px; border-top-left-radius: 4px; margin-bottom: -1px; - background-image: url('nav_f.png'); + background-image: var(--memdef-title-gradient-image); background-repeat: repeat-x; - background-color: #E2E8F2; + background-color: var(--memdef-title-background-color); line-height: 1.25; font-weight: 300; float:left; @@ -636,20 +990,11 @@ table.memberdecls { .memtemplate { font-size: 80%; - color: #4665A2; + color: var(--memdef-template-color); 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%; } @@ -668,7 +1013,7 @@ table.memberdecls { } .memitem.glow { - box-shadow: 0 0 15px cyan; + box-shadow: 0 0 15px var(--glow-color); } .memname { @@ -681,41 +1026,32 @@ table.memberdecls { } .memproto, dl.reflist dt { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); padding: 6px 0px 6px 0px; - color: #253555; + color: var(--memdef-proto-text-color); font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-color: #DFE5F1; - /* opera specific markup */ + text-shadow: var(--memdef-proto-text-shadow); + background-color: var(--memdef-proto-background-color); 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-family: var(--font-family-monospace); font-size: 65%; } .memdoc, dl.reflist dd { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; + border-bottom: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); 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; + background-color: var(--memdef-doc-background-color); /* opera specific markup */ border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; @@ -748,7 +1084,7 @@ dl.reflist dd { } .paramname { - color: #602020; + color: var(--memdef-param-name-color); white-space: nowrap; } .paramname em { @@ -761,20 +1097,20 @@ dl.reflist dd { .params, .retval, .exception, .tparams { margin-left: 0px; padding-left: 0px; -} +} .params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { font-weight: bold; vertical-align: top; } - + .params .paramtype, .tparams .paramtype { font-style: italic; vertical-align: top; -} - +} + .params .paramdir, .tparams .paramdir { - font-family: "courier new",courier,monospace; + font-family: var(--font-family-monospace); vertical-align: top; } @@ -798,13 +1134,13 @@ span.mlabels { } 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; + background-color: var(--label-background-color); + border-top:1px solid var(--label-left-top-border-color); + border-left:1px solid var(--label-left-top-border-color); + border-right:1px solid var(--label-right-bottom-border-color); + border-bottom:1px solid var(--label-right-bottom-border-color); text-shadow: none; - color: white; + color: var(--label-foreground-color); margin-right: 4px; padding: 2px 3px; border-radius: 3px; @@ -821,8 +1157,8 @@ span.mlabel { div.directory { margin: 10px 0px; - border-top: 1px solid #9CAFD4; - border-bottom: 1px solid #9CAFD4; + border-top: 1px solid var(--directory-separator-color); + border-bottom: 1px solid var(--directory-separator-color); width: 100%; } @@ -858,9 +1194,14 @@ div.directory { border-left: 1px solid rgba(0,0,0,0.05); } +.directory tr.odd { + padding-left: 6px; + background-color: var(--index-odd-item-bg-color); +} + .directory tr.even { padding-left: 6px; - background-color: #F7F8FB; + background-color: var(--index-even-item-bg-color); } .directory img { @@ -878,11 +1219,11 @@ div.directory { cursor: pointer; padding-left: 2px; padding-right: 2px; - color: #3D578C; + color: var(--page-link-color); } .arrow { - color: #9CAFD4; + color: var(--nav-arrow-color); -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; @@ -896,14 +1237,15 @@ div.directory { } .icon { - font-family: Arial, Helvetica; + font-family: var(--font-family-icon); + line-height: normal; font-weight: bold; font-size: 12px; height: 14px; width: 16px; display: inline-block; - background-color: #728DC1; - color: white; + background-color: var(--icon-background-color); + color: var(--icon-foreground-color); text-align: center; border-radius: 4px; margin-left: 2px; @@ -920,8 +1262,7 @@ div.directory { width: 24px; height: 18px; margin-bottom: 4px; - background-image:url('folderopen.png'); - background-position: 0px -4px; + background-image:var(--icon-folder-open-image); background-repeat: repeat-y; vertical-align:top; display: inline-block; @@ -931,8 +1272,7 @@ div.directory { width: 24px; height: 18px; margin-bottom: 4px; - background-image:url('folderclosed.png'); - background-position: 0px -4px; + background-image:var(--icon-folder-closed-image); background-repeat: repeat-y; vertical-align:top; display: inline-block; @@ -942,17 +1282,13 @@ div.directory { width: 24px; height: 18px; margin-bottom: 4px; - background-image:url('doc.png'); + background-image:var(--icon-doc-image); 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 { @@ -967,7 +1303,7 @@ div.dynheader { address { font-style: normal; - color: #2A3D61; + color: var(--footer-foreground-color); } table.doxtable caption { @@ -981,28 +1317,23 @@ table.doxtable { } table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; + border: 1px solid var(--table-cell-border-color); padding: 3px 7px 2px; } table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); font-size: 110%; padding-bottom: 4px; padding-top: 5px; } table.fieldtable { - /*width: 100%;*/ margin-bottom: 10px; - border: 1px solid #A8B8D9; + border: 1px solid var(--memdef-border-color); 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); } @@ -1012,8 +1343,8 @@ table.fieldtable { .fieldtable td.fieldtype, .fieldtable td.fieldname { white-space: nowrap; - border-right: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; + border-right: 1px solid var(--memdef-border-color); + border-bottom: 1px solid var(--memdef-border-color); vertical-align: top; } @@ -1022,14 +1353,13 @@ table.fieldtable { } .fieldtable td.fielddoc { - border-bottom: 1px solid #A8B8D9; - /*width: 100%;*/ + border-bottom: 1px solid var(--memdef-border-color); } .fieldtable td.fielddoc p:first-child { margin-top: 0px; -} - +} + .fieldtable td.fielddoc p:last-child { margin-bottom: 2px; } @@ -1039,22 +1369,18 @@ table.fieldtable { } .fieldtable th { - background-image:url('nav_f.png'); + background-image: var(--memdef-title-gradient-image); background-repeat:repeat-x; - background-color: #E2E8F2; + background-color: var(--memdef-title-background-color); font-size: 90%; - color: #253555; + color: var(--memdef-proto-text-color); 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; + border-bottom: 1px solid var(--memdef-border-color); } @@ -1062,7 +1388,7 @@ table.fieldtable { top: 0px; left: 10px; height: 36px; - background-image: url('tab_b.png'); + background-image: var(--nav-gradient-image); z-index: 101; overflow: hidden; font-size: 13px; @@ -1071,13 +1397,13 @@ table.fieldtable { .navpath ul { font-size: 11px; - background-image:url('tab_b.png'); + background-image: var(--nav-gradient-image); background-repeat:repeat-x; background-position: 0 -5px; height:30px; line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; + color:var(--nav-text-normal-color); + border:solid 1px var(--nav-breadcrumb-border-color); overflow:hidden; margin:0px; padding:0px; @@ -1089,10 +1415,10 @@ table.fieldtable { float:left; padding-left:10px; padding-right:15px; - background-image:url('bc_s.png'); + background-image:var(--nav-breadcrumb-image); background-repeat:no-repeat; background-position:right; - color:#364D7C; + color: var(--nav-foreground-color); } .navpath li.navelem a @@ -1101,15 +1427,16 @@ table.fieldtable { 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; + color: var(--nav-text-normal-color); + font-family: var(--font-family-nav); + text-shadow: var(--nav-text-normal-shadow); + text-decoration: none; } .navpath li.navelem a:hover { - color:#6884BD; + color: var(--nav-text-hover-color); + text-shadow: var(--nav-text-hover-shadow); } .navpath li.footer @@ -1121,7 +1448,7 @@ table.fieldtable { background-image:none; background-repeat:no-repeat; background-position:right; - color:#364D7C; + color: var(--footer-foreground-color); font-size: 8pt; } @@ -1133,7 +1460,7 @@ div.summary padding-right: 5px; width: 50%; text-align: right; -} +} div.summary a { @@ -1148,7 +1475,7 @@ table.classindex margin-right: 3%; width: 94%; border: 0; - border-spacing: 0; + border-spacing: 0; padding: 0; } @@ -1166,11 +1493,11 @@ div.ingroups a div.header { - background-image:url('nav_h.png'); + background-image: var(--header-gradient-image); background-repeat:repeat-x; - background-color: #F9FAFC; + background-color: var(--header-background-color); margin: 0px; - border-bottom: 1px solid #C4CFE5; + border-bottom: 1px solid var(--header-separator-color); } div.headertitle @@ -1193,11 +1520,6 @@ dl.section { padding-left: 0px; } -dl.section.DocNodeRTL { - margin-right: 0px; - padding-right: 0px; -} - dl.note { margin-left: -7px; padding-left: 3px; @@ -1205,16 +1527,6 @@ dl.note { border-color: #D0C000; } -dl.note.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #D0C000; -} - dl.warning, dl.attention { margin-left: -7px; padding-left: 3px; @@ -1222,16 +1534,6 @@ dl.warning, dl.attention { border-color: #FF0000; } -dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #FF0000; -} - dl.pre, dl.post, dl.invariant { margin-left: -7px; padding-left: 3px; @@ -1239,16 +1541,6 @@ dl.pre, dl.post, dl.invariant { border-color: #00D000; } -dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #00D000; -} - dl.deprecated { margin-left: -7px; padding-left: 3px; @@ -1256,16 +1548,6 @@ dl.deprecated { border-color: #505050; } -dl.deprecated.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #505050; -} - dl.todo { margin-left: -7px; padding-left: 3px; @@ -1273,16 +1555,6 @@ dl.todo { border-color: #00C0E0; } -dl.todo.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #00C0E0; -} - dl.test { margin-left: -7px; padding-left: 3px; @@ -1290,16 +1562,6 @@ dl.test { border-color: #3030E0; } -dl.test.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #3030E0; -} - dl.bug { margin-left: -7px; padding-left: 3px; @@ -1307,21 +1569,16 @@ dl.bug { border-color: #C08050; } -dl.bug.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #C08050; -} - dl.section dd { margin-bottom: 6px; } +#projectrow +{ + height: 56px; +} + #projectlogo { text-align: center; @@ -1337,25 +1594,29 @@ dl.section dd { #projectalign { vertical-align: middle; + padding-left: 0.5em; } #projectname { - font: 300% Tahoma, Arial,sans-serif; + font-size: 200%; + font-family: var(--font-family-title); margin: 0px; padding: 2px 0px; } - + #projectbrief { - font: 120% Tahoma, Arial,sans-serif; + font-size: 90%; + font-family: var(--font-family-title); margin: 0px; padding: 0px; } #projectnumber { - font: 50% Tahoma, Arial,sans-serif; + font-size: 50%; + font-family: 50% var(--font-family-title); margin: 0px; padding: 0px; } @@ -1365,7 +1626,8 @@ dl.section dd { padding: 0px; margin: 0px; width: 100%; - border-bottom: 1px solid #5373B4; + border-bottom: 1px solid var(--title-separator-color); + background-color: var(--title-background-color); } .image @@ -1398,17 +1660,12 @@ dl.section dd { font-weight: bold; } -div.zoom -{ - border: 1px solid #90A5CE; -} - dl.citelist { margin-bottom:50px; } dl.citelist dt { - color:#334975; + color:var(--citation-label-color); float:left; font-weight:bold; margin-right:10px; @@ -1424,8 +1681,8 @@ dl.citelist dd { div.toc { padding: 14px 25px; - background-color: #F4F6FA; - border: 1px solid #D8DFEE; + background-color: var(--toc-background-color); + border: 1px solid var(--toc-border-color); border-radius: 7px 7px 7px 7px; float: right; height: auto; @@ -1433,28 +1690,17 @@ div.toc { width: 200px; } -.PageDocRTL-title div.toc { - float: left !important; - text-align: right; -} - div.toc li { - background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent; + font: 10px/1.2 var(--font-family-toc); margin-top: 5px; padding-left: 10px; padding-top: 2px; } -.PageDocRTL-title div.toc li { - background-position-x: right !important; - padding-left: 0 !important; - padding-right: 10px; -} - div.toc h3 { - font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #4665A2; + font: bold 12px/1.2 var(--font-family-toc); + color: var(--toc-header-color); border-bottom: 0 none; margin: 0; } @@ -1463,7 +1709,7 @@ div.toc ul { list-style: none outside none; border: medium none; padding: 0px; -} +} div.toc li.level1 { margin-left: 0px; @@ -1474,11 +1720,11 @@ div.toc li.level2 { } div.toc li.level3 { - margin-left: 30px; + margin-left: 15px; } div.toc li.level4 { - margin-left: 45px; + margin-left: 15px; } span.emoji { @@ -1487,29 +1733,13 @@ span.emoji { */ } -.PageDocRTL-title div.toc li.level1 { - margin-left: 0 !important; - margin-right: 0; -} - -.PageDocRTL-title div.toc li.level2 { - margin-left: 0 !important; - margin-right: 15px; -} - -.PageDocRTL-title div.toc li.level3 { - margin-left: 0 !important; - margin-right: 30px; -} - -.PageDocRTL-title div.toc li.level4 { - margin-left: 0 !important; - margin-right: 45px; +span.obfuscator { + display: none; } .inherit_header { font-weight: bold; - color: gray; + color: var(--inherit-header-color); cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; @@ -1541,11 +1771,12 @@ tr.heading h2 { #powerTip { cursor: default; - white-space: nowrap; - background-color: white; - border: 1px solid gray; + /*white-space: nowrap;*/ + color: var(--tooltip-foreground-color); + background-color: var(--tooltip-background-color); + border: 1px solid var(--tooltip-border-color); border-radius: 4px 4px 4px 4px; - box-shadow: 1px 1px 7px gray; + box-shadow: var(--tooltip-shadow); display: none; font-size: smaller; max-width: 80%; @@ -1556,7 +1787,7 @@ tr.heading h2 { } #powerTip div.ttdoc { - color: grey; + color: var(--tooltip-doc-color); font-style: italic; } @@ -1564,18 +1795,24 @@ tr.heading h2 { font-weight: bold; } +#powerTip a { + color: var(--tooltip-link-color); +} + #powerTip div.ttname { font-weight: bold; } #powerTip div.ttdeci { - color: #006318; + color: var(--tooltip-declaration-color); } #powerTip div { margin: 0px; padding: 0px; - font: 12px/16px Roboto,sans-serif; + font-size: 12px; + font-family: var(--font-family-tooltip); + line-height: 16px; } #powerTip:before, #powerTip:after { @@ -1620,12 +1857,12 @@ tr.heading h2 { } #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #FFFFFF; + border-top-color: var(--tooltip-background-color); border-width: 10px; margin: 0px -10px; } -#powerTip.n:before { - border-top-color: #808080; +#powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before { + border-top-color: var(--tooltip-border-color); border-width: 11px; margin: 0px -11px; } @@ -1648,13 +1885,13 @@ tr.heading h2 { } #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #FFFFFF; + border-bottom-color: var(--tooltip-background-color); border-width: 10px; margin: 0px -10px; } #powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: #808080; + border-bottom-color: var(--tooltip-border-color); border-width: 11px; margin: 0px -11px; } @@ -1675,13 +1912,13 @@ tr.heading h2 { left: 100%; } #powerTip.e:after { - border-left-color: #FFFFFF; + border-left-color: var(--tooltip-border-color); border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.e:before { - border-left-color: #808080; + border-left-color: var(--tooltip-border-color); border-width: 11px; top: 50%; margin-top: -11px; @@ -1691,13 +1928,13 @@ tr.heading h2 { right: 100%; } #powerTip.w:after { - border-right-color: #FFFFFF; + border-right-color: var(--tooltip-border-color); border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.w:before { - border-right-color: #808080; + border-right-color: var(--tooltip-border-color); border-width: 11px; top: 50%; margin-top: -11px; @@ -1731,7 +1968,7 @@ table.markdownTable { } table.markdownTable td, table.markdownTable th { - border: 1px solid #2D4068; + border: 1px solid var(--table-cell-border-color); padding: 3px 7px 2px; } @@ -1739,8 +1976,8 @@ table.markdownTable tr { } th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: #374F7F; - color: #FFFFFF; + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); font-size: 110%; padding-bottom: 4px; padding-top: 5px; @@ -1758,36 +1995,51 @@ th.markdownTableHeadCenter, td.markdownTableBodyCenter { text-align: center } -.DocNodeRTL { - text-align: right; - direction: rtl; +tt, code, kbd, samp +{ + display: inline-block; } +/* @end */ -.DocNodeLTR { - text-align: left; - direction: ltr; +u { + text-decoration: underline; } -table.DocNodeRTL { - width: auto; - margin-right: 0; - margin-left: auto; +details>summary { + list-style-type: none; } -table.DocNodeLTR { - width: auto; - margin-right: auto; - margin-left: 0; +details > summary::-webkit-details-marker { + display: none; } -tt, code, kbd, samp -{ - display: inline-block; - direction:ltr; +details>summary::before { + content: "\25ba"; + padding-right:4px; + font-size: 80%; } -/* @end */ -u { - text-decoration: underline; +details[open]>summary::before { + content: "\25bc"; + padding-right:4px; + font-size: 80%; +} + +body { + scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color); +} + +::-webkit-scrollbar { + background-color: var(--scrollbar-background-color); + height: 12px; + width: 12px; +} +::-webkit-scrollbar-thumb { + border-radius: 6px; + box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color); + border: solid 2px transparent; +} +::-webkit-scrollbar-corner { + background-color: var(--scrollbar-background-color); } diff --git a/docs/doxygen.svg b/docs/doxygen.svg index d42dad5..79a7635 100644 --- a/docs/doxygen.svg +++ b/docs/doxygen.svg @@ -1,4 +1,6 @@ + @@ -17,7 +19,7 @@ - + diff --git a/docs/dynsections.js b/docs/dynsections.js index 3174bd7..b73c828 100644 --- a/docs/dynsections.js +++ b/docs/dynsections.js @@ -47,6 +47,8 @@ function updateStripes() { $('table.directory tr'). removeClass('even').filter(':visible:even').addClass('even'); + $('table.directory tr'). + removeClass('odd').filter(':visible:odd').addClass('odd'); } function toggleLevel(level) @@ -118,4 +120,73 @@ function toggleInherit(id) $(img).attr('src',src.substring(0,src.length-10)+'open.png'); } } + +var opened=true; +// in case HTML_COLORSTYLE is LIGHT or DARK the vars will be replaced, so we write them out explicitly and use double quotes +var plusImg = [ "var(--fold-plus-image)", "var(--fold-plus-image-relpath)" ]; +var minusImg = [ "var(--fold-minus-image)", "var(--fold-minus-image-relpath)" ]; + +// toggle all folding blocks +function codefold_toggle_all(relPath) { + if (opened) { + $('#fold_all').css('background-image',plusImg[relPath]); + $('div[id^=foldopen]').hide(); + $('div[id^=foldclosed]').show(); + } else { + $('#fold_all').css('background-image',minusImg[relPath]); + $('div[id^=foldopen]').show(); + $('div[id^=foldclosed]').hide(); + } + opened=!opened; +} + +// toggle single folding block +function codefold_toggle(id) { + $('#foldopen'+id).toggle(); + $('#foldclosed'+id).toggle(); +} +function init_codefold(relPath) { + $('span[class=lineno]').css( + {'padding-right':'4px', + 'margin-right':'2px', + 'display':'inline-block', + 'width':'54px', + 'background':'linear-gradient(var(--fold-line-color),var(--fold-line-color)) no-repeat 46px/2px 100%' + }); + // add global toggle to first line + $('span[class=lineno]:first').append(''); + // add vertical lines to other rows + $('span[class=lineno]').not(':eq(0)').append(''); + // add toggle controls to lines with fold divs + $('div[class=foldopen]').each(function() { + // extract specific id to use + var id = $(this).attr('id').replace('foldopen',''); + // extract start and end foldable fragment attributes + var start = $(this).attr('data-start'); + var end = $(this).attr('data-end'); + // replace normal fold span with controls for the first line of a foldable fragment + $(this).find('span[class=fold]:first').replaceWith(''); + // append div for folded (closed) representation + $(this).after(''); + // extract the first line from the "open" section to represent closed content + var line = $(this).children().first().clone(); + // remove any glow that might still be active on the original line + $(line).removeClass('glow'); + if (start) { + // if line already ends with a start marker (e.g. trailing {), remove it + $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),'')); + } + // replace minus with plus symbol + $(line).find('span[class=fold]').css('background-image',plusImg[relPath]); + // append ellipsis + $(line).append(' '+start+''+end); + // insert constructed line into closed div + $('#foldclosed'+id).html(line); + }); +} + /* @license-end */ diff --git a/docs/folderclosed.svg b/docs/folderclosed.svg new file mode 100644 index 0000000..b04bed2 --- /dev/null +++ b/docs/folderclosed.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/docs/folderclosedd.svg b/docs/folderclosedd.svg new file mode 100644 index 0000000..52f0166 --- /dev/null +++ b/docs/folderclosedd.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/docs/folderopen.svg b/docs/folderopen.svg new file mode 100644 index 0000000..f6896dd --- /dev/null +++ b/docs/folderopen.svg @@ -0,0 +1,17 @@ + + + + + + + + + + diff --git a/docs/folderopend.svg b/docs/folderopend.svg new file mode 100644 index 0000000..2d1f06e --- /dev/null +++ b/docs/folderopend.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/docs/functions.html b/docs/functions.html index b7f3d7e..62598b2 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -1,9 +1,9 @@ - + - - + + SinricPro Library: Class Members @@ -23,8 +23,8 @@
- - + @@ -33,21 +33,22 @@
+
SinricPro Library
- + +/* @license-end */ +
@@ -61,7 +62,7 @@
@@ -75,237 +76,114 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- b -

diff --git a/docs/functions_func.html b/docs/functions_func.html index bc17047..cc7551f 100644 --- a/docs/functions_func.html +++ b/docs/functions_func.html @@ -1,9 +1,9 @@ - + - - + + SinricPro Library: Class Members - Functions @@ -23,8 +23,8 @@
- - + @@ -33,21 +33,22 @@
+
SinricPro Library
- + +/* @license-end */ +
@@ -61,7 +62,7 @@
@@ -75,237 +76,114 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented functions with links to the class documentation for each member:
-

- b -

diff --git a/docs/graph_legend.html b/docs/graph_legend.html index b9c26a1..fc0cfcf 100644 --- a/docs/graph_legend.html +++ b/docs/graph_legend.html @@ -1,9 +1,9 @@ - + - - + + SinricPro Library: Graph Legend @@ -23,8 +23,8 @@
- - + @@ -33,21 +33,22 @@
+
SinricPro Library
- + +/* @license-end */ +
@@ -61,7 +62,7 @@
@@ -75,14 +76,20 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
Graph Legend
+
Graph Legend

This page explains how to interpret the graphs that are generated by doxygen.

@@ -135,7 +142,7 @@

The arrows have the following meaning:

@@ -61,7 +62,7 @@
@@ -75,98 +76,104 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Classes
-
-
Capabilities
+
Capabilities

Capabilities. More...

- - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + +

+

Classes

class  AirQualitySensor< T >
 AirQuality. More...
class  AirQualitySensor< T >
 AirQuality. More...
 
class  BrightnessController< T >
 BrightnessController. More...
class  BrightnessController< T >
 BrightnessController. More...
 
class  ChannelController< T >
 ChannelController. More...
class  ChannelController< T >
 ChannelController. More...
 
class  ColorController< T >
 ColorController. More...
class  ColorController< T >
 ColorController. More...
 
class  ColorTemperatureController< T >
 ColorTemperatureController. More...
class  ColorTemperatureController< T >
 ColorTemperatureController. More...
 
class  ContactSensor< T >
 ContactSensor. More...
class  ContactSensor< T >
 ContactSensor. More...
 
class  Doorbell< T >
 Dorbell. More...
class  Doorbell< T >
 Dorbell. More...
 
class  EqualizerController< T >
 EqualizerController. More...
class  EqualizerController< T >
 EqualizerController. More...
 
class  InputController< T >
 InputController. More...
class  InputController< T >
 InputController. More...
 
class  KeypadController< T >
 KeypadController. More...
class  KeypadController< T >
 KeypadController. More...
 
class  LockController< T >
 LockController. More...
class  LockController< T >
 LockController. More...
 
class  MediaController< T >
 MediaController. More...
class  MediaController< T >
 MediaController. More...
 
class  ModeController< T >
 ModeController. More...
class  ModeController< T >
 ModeController. More...
 
class  MotionSensor< T >
 MotionSensor. More...
class  MotionSensor< T >
 MotionSensor. More...
 
class  MuteController< T >
 MuteController. More...
class  MuteController< T >
 MuteController. More...
 
class  PercentageController< T >
 PercentageController. More...
class  PercentageController< T >
 PercentageController. More...
 
class  PowerLevelController< T >
 PowerLevelController. More...
class  PowerLevelController< T >
 PowerLevelController. More...
 
class  PowerSensor< T >
 PowerSensor. More...
class  PowerSensor< T >
 PowerSensor. More...
 
class  PowerStateController< T >
 PowerStateController. More...
class  PowerStateController< T >
 PowerStateController. More...
 
class  PushNotification< T >
 PushNotification. More...
class  PushNotification< T >
 PushNotification. More...
 
class  RangeController< T >
 RangeControllerFloatInt. More...
class  RangeController< T >
 RangeControllerFloatInt. More...
 
class  TemperatureSensor< T >
 TemperatureSensor. More...
class  TemperatureSensor< T >
 TemperatureSensor. More...
 
class  ThermostatController< T >
 ThermostatController. More...
class  ThermostatController< T >
 ThermostatController. More...
 
class  ToggleController< T >
 ToggleController. More...
class  ToggleController< T >
 ToggleController. More...
 
class  VolumeController< T >
 VolumeController. More...
class  VolumeController< T >
 VolumeController. More...
 

Detailed Description

@@ -176,7 +183,7 @@ diff --git a/docs/group___capabilities.js b/docs/group___capabilities.js index e07a861..cf20e12 100644 --- a/docs/group___capabilities.js +++ b/docs/group___capabilities.js @@ -1,113 +1,113 @@ var group___capabilities = [ - [ "AirQualitySensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_air_quality_sensor.html", [ - [ "sendAirQualityEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_air_quality_sensor.html#a733195bdc5b15c858e4e890847b3a0d5", null ] - ] ], - [ "BrightnessController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller.html", [ - [ "onAdjustBrightness", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller.html#a0633e5fa2981189f4a093bab00a8c7f1", null ], - [ "onBrightness", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller.html#abbaab3067b1fcdcc5928451b818a4420", null ], - [ "sendBrightnessEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller.html#a2a96c414210f61de3ce53a4ca8c963b3", null ] - ] ], - [ "ChannelController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html", [ - [ "onChangeChannel", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html#a92f3b83744b5bb82d32628eef39c1eb9", null ], - [ "onChangeChannelNumber", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html#afd8aee20590bfadec181c6ee515125ec", null ], - [ "onSkipChannels", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html#ab1123d03d471fad4896eb2960ed41855", null ], - [ "sendChangeChannelEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html#aff5839c3020c3006af1a2a8c37cc858e", null ] - ] ], - [ "ColorController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_controller.html", [ - [ "onColor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_controller.html#a059ff103149869b7c49cdb8911875b7b", null ], - [ "sendColorEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_controller.html#a3599a6d00eb0f9127a7c1188885c5bc0", null ] - ] ], - [ "ColorTemperatureController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html", [ - [ "onColorTemperature", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html#a8535c44fd2517ed09ebe6a203cc25b67", null ], - [ "onDecreaseColorTemperature", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html#a7468976e7fffeee14cc869b7236cbb50", null ], - [ "onIncreaseColorTemperature", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html#a7ea9fd9861a5668a41d06267bfbec82a", null ], - [ "sendColorTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html#a0f90d7f5a5b365116f97beca7630ccc9", null ] - ] ], - [ "ContactSensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_contact_sensor.html", [ - [ "sendContactEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_contact_sensor.html#a452a4cfa3177d8d8d31c5919e9ccbb19", null ] - ] ], - [ "Doorbell", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_doorbell.html", [ - [ "sendDoorbellEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_doorbell.html#a168f5a4ddcbf381fd548bf10ee05b272", null ] - ] ], - [ "EqualizerController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html", [ - [ "onAdjustBands", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html#a41a5c1506545c44c2408054a8675c7a8", null ], - [ "onResetBands", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html#aa6c3aabc2b442d82ac5456ccaac3f60d", null ], - [ "onSetBands", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html#a4aaa7a29394560be7537a86b0304d199", null ], - [ "sendBandsEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html#a4ad5674e36d96a73147388251b794c82", null ] - ] ], - [ "InputController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller.html", [ - [ "onSelectInput", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller.html#a18f8f71ecf0d7292a63d9486f94e5180", null ], - [ "sendSelectInputEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller.html#a973241ac912a18b142d236dda7f80e97", null ] - ] ], - [ "KeypadController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_keypad_controller.html", [ - [ "onKeystroke", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_keypad_controller.html#ab24b4858dcc69145a367e964c2ae7961", null ] - ] ], - [ "LockController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_lock_controller.html", [ - [ "onLockState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_lock_controller.html#aee42cc397234a454fd353ca6bc12a859", null ], - [ "sendLockStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_lock_controller.html#a8fb3fec204da21e69d05f89a9ecb4739", null ] - ] ], - [ "MediaController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller.html", [ - [ "onMediaControl", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller.html#afc2620621377fff928737b5a8a537020", null ], - [ "sendMediaControlEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller.html#a7af593cbf79d38f6b90efb5afee45077", null ] - ] ], - [ "ModeController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html", [ - [ "onSetMode", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html#a6b15ba168b3a673b98da43ac5e4ef76c", null ], - [ "onSetMode", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html#ada087c948c3ab923bdb7818daa6b2b79", null ], - [ "sendModeEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html#a7c84d5c26f2ded88e4941313015f7f4c", null ], - [ "sendModeEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html#a41f8465e89d147c08ab8cbc6839d34da", null ] - ] ], - [ "MotionSensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_motion_sensor.html", [ - [ "sendMotionEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_motion_sensor.html#a9be024aa2bb70f0146a02dd1b79d3faa", null ] - ] ], - [ "MuteController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller.html", [ - [ "onMute", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller.html#ab5fc79cc8903c3ccc1c106abf61d7cfd", null ], - [ "sendMuteEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller.html#a4717d892b64a14052712152924bd5b29", null ] - ] ], - [ "PercentageController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_percentage_controller.html", [ - [ "onAdjustPercentage", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_percentage_controller.html#a77ac70c4880e38dae4f640dceaeb2816", null ], - [ "onSetPercentage", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_percentage_controller.html#aeef432df118679c689ccd8a48d47dc3d", null ], - [ "sendSetPercentageEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_percentage_controller.html#adf688c12e451e52b05670f150bdabcc8", null ] - ] ], - [ "PowerLevelController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html", [ - [ "onAdjustPowerLevel", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html#a13b10bdb1844babe4de320fff9172d96", null ], - [ "onPowerLevel", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html#a0685d34694badb4442fed6b69b69b366", null ], - [ "sendPowerLevelEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html#a2f1f88c7b4d9503bfcfe5557c5e55ed4", null ] - ] ], - [ "PowerSensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_sensor.html", [ - [ "sendPowerSensorEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_sensor.html#aec04692842ae1953973503f6be6d9afc", null ] - ] ], - [ "PowerStateController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", [ - [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html#a32f3257da431a1035f23a265ff0cc4cf", null ], - [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html#acfd5f3a30933ace93751bd823630cded", null ] - ] ], - [ "PushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html#a04266791a4b23e9614b8773edb5f67b6", null ] - ] ], - [ "RangeController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html", [ - [ "onAdjustRangeValue", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html#ae85696d55112ae7343f9807faee6e064", null ], - [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html#a6d6d8070b49c8b5272460836a1120b33", null ], - [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html#a94adbcdf6ce61cb6552a5f9915e705ae", null ], - [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html#aaf84aa417e2246843a27e819898e64b5", null ], - [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html#a1d726751c416fe6dd408e5dd19f6b53b", null ] - ] ], - [ "TemperatureSensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_temperature_sensor.html", [ - [ "sendTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_temperature_sensor.html#a75956fe7aff6e595a9b57519316ff789", null ] - ] ], - [ "ThermostatController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html", [ - [ "onAdjustTargetTemperature", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html#ac51f6fecfdf4c7bc8e0712e2da47bbf4", null ], - [ "onTargetTemperature", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html#a1c73725f1f3fbb1c5b72208aae5c2bf2", null ], - [ "onThermostatMode", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html#a2ef31536973b20815dd6c80a28e19c9f", null ], - [ "sendTargetTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html#ab8b7fdd977a0a38413f2279b50274890", null ], - [ "sendThermostatModeEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html#ae7273cd094f64a93494ae99501fc83e8", null ] - ] ], - [ "ToggleController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_toggle_controller.html", [ - [ "onToggleState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_toggle_controller.html#a7ccd28a4f20922847d0461649af5572d", null ], - [ "sendToggleStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_toggle_controller.html#a7fcc5084fea488e5b5e95f5ad7015a0f", null ] - ] ], - [ "VolumeController", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html", [ - [ "onAdjustVolume", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html#a2c868c87f96e3924c8b309e1bcfb507e", null ], - [ "onSetVolume", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html#a5db8c85f222debbece54c794015f9402", null ], - [ "sendVolumeEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html#aa2d3dbea5b07e4c5f39d3d20aa2167a4", null ] + [ "AirQualitySensor< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.html", [ + [ "sendAirQualityEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.html#a733195bdc5b15c858e4e890847b3a0d5", null ] + ] ], + [ "BrightnessController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html", [ + [ "onAdjustBrightness", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html#a0633e5fa2981189f4a093bab00a8c7f1", null ], + [ "onBrightness", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html#abbaab3067b1fcdcc5928451b818a4420", null ], + [ "sendBrightnessEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html#a2a96c414210f61de3ce53a4ca8c963b3", null ] + ] ], + [ "ChannelController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html", [ + [ "onChangeChannel", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html#a92f3b83744b5bb82d32628eef39c1eb9", null ], + [ "onChangeChannelNumber", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html#afd8aee20590bfadec181c6ee515125ec", null ], + [ "onSkipChannels", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html#ab1123d03d471fad4896eb2960ed41855", null ], + [ "sendChangeChannelEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html#aff5839c3020c3006af1a2a8c37cc858e", null ] + ] ], + [ "ColorController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html", [ + [ "onColor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html#a059ff103149869b7c49cdb8911875b7b", null ], + [ "sendColorEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html#a3599a6d00eb0f9127a7c1188885c5bc0", null ] + ] ], + [ "ColorTemperatureController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html", [ + [ "onColorTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html#a8535c44fd2517ed09ebe6a203cc25b67", null ], + [ "onDecreaseColorTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html#a7468976e7fffeee14cc869b7236cbb50", null ], + [ "onIncreaseColorTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html#a7ea9fd9861a5668a41d06267bfbec82a", null ], + [ "sendColorTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html#a0f90d7f5a5b365116f97beca7630ccc9", null ] + ] ], + [ "ContactSensor< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.html", [ + [ "sendContactEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.html#a452a4cfa3177d8d8d31c5919e9ccbb19", null ] + ] ], + [ "Doorbell< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.html", [ + [ "sendDoorbellEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.html#a168f5a4ddcbf381fd548bf10ee05b272", null ] + ] ], + [ "EqualizerController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html", [ + [ "onAdjustBands", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html#a41a5c1506545c44c2408054a8675c7a8", null ], + [ "onResetBands", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html#aa6c3aabc2b442d82ac5456ccaac3f60d", null ], + [ "onSetBands", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html#a4aaa7a29394560be7537a86b0304d199", null ], + [ "sendBandsEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html#a4ad5674e36d96a73147388251b794c82", null ] + ] ], + [ "InputController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html", [ + [ "onSelectInput", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html#a18f8f71ecf0d7292a63d9486f94e5180", null ], + [ "sendSelectInputEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html#a973241ac912a18b142d236dda7f80e97", null ] + ] ], + [ "KeypadController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller.html", [ + [ "onKeystroke", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller.html#ab24b4858dcc69145a367e964c2ae7961", null ] + ] ], + [ "LockController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html", [ + [ "onLockState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html#aee42cc397234a454fd353ca6bc12a859", null ], + [ "sendLockStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html#a8fb3fec204da21e69d05f89a9ecb4739", null ] + ] ], + [ "MediaController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html", [ + [ "onMediaControl", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html#afc2620621377fff928737b5a8a537020", null ], + [ "sendMediaControlEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html#a7af593cbf79d38f6b90efb5afee45077", null ] + ] ], + [ "ModeController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html", [ + [ "onSetMode", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html#a6b15ba168b3a673b98da43ac5e4ef76c", null ], + [ "onSetMode", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html#ada087c948c3ab923bdb7818daa6b2b79", null ], + [ "sendModeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html#a7c84d5c26f2ded88e4941313015f7f4c", null ], + [ "sendModeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html#a41f8465e89d147c08ab8cbc6839d34da", null ] + ] ], + [ "MotionSensor< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.html", [ + [ "sendMotionEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.html#a9be024aa2bb70f0146a02dd1b79d3faa", null ] + ] ], + [ "MuteController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html", [ + [ "onMute", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html#ab5fc79cc8903c3ccc1c106abf61d7cfd", null ], + [ "sendMuteEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html#a4717d892b64a14052712152924bd5b29", null ] + ] ], + [ "PercentageController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html", [ + [ "onAdjustPercentage", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html#a77ac70c4880e38dae4f640dceaeb2816", null ], + [ "onSetPercentage", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html#aeef432df118679c689ccd8a48d47dc3d", null ], + [ "sendSetPercentageEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html#adf688c12e451e52b05670f150bdabcc8", null ] + ] ], + [ "PowerLevelController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html", [ + [ "onAdjustPowerLevel", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html#a13b10bdb1844babe4de320fff9172d96", null ], + [ "onPowerLevel", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html#a0685d34694badb4442fed6b69b69b366", null ], + [ "sendPowerLevelEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html#a2f1f88c7b4d9503bfcfe5557c5e55ed4", null ] + ] ], + [ "PowerSensor< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.html", [ + [ "sendPowerSensorEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.html#aec04692842ae1953973503f6be6d9afc", null ] + ] ], + [ "PowerStateController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html", [ + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html#acfd5f3a30933ace93751bd823630cded", null ] + ] ], + [ "PushNotification< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html#a04266791a4b23e9614b8773edb5f67b6", null ] + ] ], + [ "RangeController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html", [ + [ "onAdjustRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#ae85696d55112ae7343f9807faee6e064", null ], + [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#a6d6d8070b49c8b5272460836a1120b33", null ], + [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#a94adbcdf6ce61cb6552a5f9915e705ae", null ], + [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#aaf84aa417e2246843a27e819898e64b5", null ], + [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#a1d726751c416fe6dd408e5dd19f6b53b", null ] + ] ], + [ "TemperatureSensor< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html", [ + [ "sendTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html#a75956fe7aff6e595a9b57519316ff789", null ] + ] ], + [ "ThermostatController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html", [ + [ "onAdjustTargetTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#ac51f6fecfdf4c7bc8e0712e2da47bbf4", null ], + [ "onTargetTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#a1c73725f1f3fbb1c5b72208aae5c2bf2", null ], + [ "onThermostatMode", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#a2ef31536973b20815dd6c80a28e19c9f", null ], + [ "sendTargetTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#ab8b7fdd977a0a38413f2279b50274890", null ], + [ "sendThermostatModeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#ae7273cd094f64a93494ae99501fc83e8", null ] + ] ], + [ "ToggleController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.html", [ + [ "onToggleState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.html#a7ccd28a4f20922847d0461649af5572d", null ], + [ "sendToggleStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.html#a7fcc5084fea488e5b5e95f5ad7015a0f", null ] + ] ], + [ "VolumeController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html", [ + [ "onAdjustVolume", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html#a2c868c87f96e3924c8b309e1bcfb507e", null ], + [ "onSetVolume", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html#a5db8c85f222debbece54c794015f9402", null ], + [ "sendVolumeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html#aa2d3dbea5b07e4c5f39d3d20aa2167a4", null ] ] ] ]; \ No newline at end of file diff --git a/docs/group___devices.html b/docs/group___devices.html index 7fcd466..486ff03 100644 --- a/docs/group___devices.html +++ b/docs/group___devices.html @@ -1,9 +1,9 @@ - + - - + + SinricPro Library: Devices @@ -23,8 +23,8 @@
- - + @@ -33,21 +33,22 @@
+
SinricPro Library
- + +/* @license-end */ +
@@ -61,7 +62,7 @@
@@ -75,80 +76,86 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Classes
-
-
Devices
+
Devices

Available devices. More...

- - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + +

+

Classes

class  SinricProAirQualitySensor
 Device to report air quality events. More...
class  SinricProAirQualitySensor
 Device to report air quality events. More...
 
class  SinricProBlinds
 Device to control interior blinds. More...
class  SinricProBlinds
 Device to control interior blinds. More...
 
class  SinricProCamera
 Camera suporting basic on / off command. More...
class  SinricProCamera
 Camera suporting basic on / off command. More...
 
class  SinricProContactsensor
 Device to report contact sensor events. More...
class  SinricProContactsensor
 Device to report contact sensor events. More...
 
class  SinricProDimSwitch
 Device which supports on / off and dimming commands. More...
class  SinricProDimSwitch
 Device which supports on / off and dimming commands. More...
 
class  SinricProDoorbell
 Device to report doorbell events. More...
class  SinricProDoorbell
 Device to report doorbell events. More...
 
class  SinricProFan
 Device to turn on / off a fan and change it's speed by using powerlevel. More...
class  SinricProFan
 Device to turn on / off a fan and change it's speed by using powerlevel. More...
 
class  SinricProFanUS
 Device to control a fan with on / off commands and its speed by a range value. More...
class  SinricProFanUS
 Device to control a fan with on / off commands and its speed by a range value. More...
 
class  SinricProGarageDoor
 Device to control a garage door. More...
class  SinricProGarageDoor
 Device to control a garage door. More...
 
class  SinricProLight
 Device to control a light. More...
class  SinricProLight
 Device to control a light. More...
 
class  SinricProLock
 Device to control a smart lock. More...
class  SinricProLock
 Device to control a smart lock. More...
 
class  SinricProMotionsensor
 Device to report motion detection events. More...
class  SinricProMotionsensor
 Device to report motion detection events. More...
 
class  SinricProPowerSensor
 Device to report power usage. More...
class  SinricProPowerSensor
 Device to report power usage. More...
 
class  SinricProSpeaker
 Device to control a smart speaker. More...
class  SinricProSpeaker
 Device to control a smart speaker. More...
 
class  SinricProSwitch
 Device suporting basic on / off command. More...
class  SinricProSwitch
 Device suporting basic on / off command. More...
 
class  SinricProTemperaturesensor
 Device to report actual temperature and humidity. More...
class  SinricProTemperaturesensor
 Device to report actual temperature and humidity. More...
 
class  SinricProThermostat
 Device to control Thermostat. More...
class  SinricProThermostat
 Device to control Thermostat. More...
 
class  SinricProTV
 Device to control a TV. More...
class  SinricProTV
 Device to control a TV. More...
 
class  SinricProWindowAC
 Device to control Window Air Conditioner. More...
class  SinricProWindowAC
 Device to control Window Air Conditioner. More...
 

Detailed Description

@@ -158,7 +165,7 @@ diff --git a/docs/group___devices.js b/docs/group___devices.js index cfdeb86..b44e788 100644 --- a/docs/group___devices.js +++ b/docs/group___devices.js @@ -1,175 +1,165 @@ var group___devices = [ - [ "SinricProAirQualitySensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_air_quality_sensor.html", [ - [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_air_quality_sensor.html#a32f3257da431a1035f23a265ff0cc4cf", null ], - [ "sendAirQualityEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_air_quality_sensor.html#a733195bdc5b15c858e4e890847b3a0d5", null ], - [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_air_quality_sensor.html#acfd5f3a30933ace93751bd823630cded", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_air_quality_sensor.html#a04266791a4b23e9614b8773edb5f67b6", null ] - ] ], - [ "SinricProBlinds", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html", [ - [ "onAdjustRangeValue", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html#ae85696d55112ae7343f9807faee6e064", null ], - [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html#a32f3257da431a1035f23a265ff0cc4cf", null ], - [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html#a6d6d8070b49c8b5272460836a1120b33", null ], - [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html#a94adbcdf6ce61cb6552a5f9915e705ae", null ], - [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html#acfd5f3a30933ace93751bd823630cded", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html#a04266791a4b23e9614b8773edb5f67b6", null ], - [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html#aaf84aa417e2246843a27e819898e64b5", null ], - [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html#a1d726751c416fe6dd408e5dd19f6b53b", null ] - ] ], - [ "SinricProCamera", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_camera.html", [ - [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_camera.html#a32f3257da431a1035f23a265ff0cc4cf", null ], - [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_camera.html#acfd5f3a30933ace93751bd823630cded", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_camera.html#a04266791a4b23e9614b8773edb5f67b6", null ] - ] ], - [ "SinricProContactsensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_contactsensor.html", [ - [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_contactsensor.html#a32f3257da431a1035f23a265ff0cc4cf", null ], - [ "sendContactEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_contactsensor.html#a452a4cfa3177d8d8d31c5919e9ccbb19", null ], - [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_contactsensor.html#acfd5f3a30933ace93751bd823630cded", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_contactsensor.html#a04266791a4b23e9614b8773edb5f67b6", null ] - ] ], - [ "SinricProDimSwitch", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html", [ - [ "onAdjustPowerLevel", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html#a13b10bdb1844babe4de320fff9172d96", null ], - [ "onPowerLevel", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html#a0685d34694badb4442fed6b69b69b366", null ], - [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html#a32f3257da431a1035f23a265ff0cc4cf", null ], - [ "sendPowerLevelEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html#a2f1f88c7b4d9503bfcfe5557c5e55ed4", null ], - [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html#acfd5f3a30933ace93751bd823630cded", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html#a04266791a4b23e9614b8773edb5f67b6", null ] - ] ], - [ "SinricProDoorbell", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_doorbell.html", [ - [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_doorbell.html#a32f3257da431a1035f23a265ff0cc4cf", null ], - [ "sendDoorbellEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_doorbell.html#a168f5a4ddcbf381fd548bf10ee05b272", null ], - [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_doorbell.html#acfd5f3a30933ace93751bd823630cded", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_doorbell.html#a04266791a4b23e9614b8773edb5f67b6", null ] - ] ], - [ "SinricProFan", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html", [ - [ "onAdjustPowerLevel", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html#a13b10bdb1844babe4de320fff9172d96", null ], - [ "onPowerLevel", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html#a0685d34694badb4442fed6b69b69b366", null ], - [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html#a32f3257da431a1035f23a265ff0cc4cf", null ], - [ "sendPowerLevelEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html#a2f1f88c7b4d9503bfcfe5557c5e55ed4", null ], - [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html#acfd5f3a30933ace93751bd823630cded", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html#a04266791a4b23e9614b8773edb5f67b6", null ] - ] ], - [ "SinricProFanUS", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html", [ - [ "onAdjustRangeValue", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html#ae85696d55112ae7343f9807faee6e064", null ], - [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html#a32f3257da431a1035f23a265ff0cc4cf", null ], - [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html#a6d6d8070b49c8b5272460836a1120b33", null ], - [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html#a94adbcdf6ce61cb6552a5f9915e705ae", null ], - [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html#acfd5f3a30933ace93751bd823630cded", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html#a04266791a4b23e9614b8773edb5f67b6", null ], - [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html#aaf84aa417e2246843a27e819898e64b5", null ], - [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html#a1d726751c416fe6dd408e5dd19f6b53b", null ] - ] ], - [ "SinricProGarageDoor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_garage_door.html", [ - [ "onDoorState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_garage_door.html#a6b536531ab89b39f1a48cb107e22185e", null ], - [ "sendDoorStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_garage_door.html#a375cda2b0bc05e1a66e3bc29d059d9a7", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_garage_door.html#a04266791a4b23e9614b8773edb5f67b6", null ] - ] ], - [ "SinricProLight", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html", [ - [ "onAdjustBrightness", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a0633e5fa2981189f4a093bab00a8c7f1", null ], - [ "onBrightness", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#abbaab3067b1fcdcc5928451b818a4420", null ], - [ "onColor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a059ff103149869b7c49cdb8911875b7b", null ], - [ "onColorTemperature", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a8535c44fd2517ed09ebe6a203cc25b67", null ], - [ "onDecreaseColorTemperature", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a7468976e7fffeee14cc869b7236cbb50", null ], - [ "onIncreaseColorTemperature", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a7ea9fd9861a5668a41d06267bfbec82a", null ], - [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a32f3257da431a1035f23a265ff0cc4cf", null ], - [ "sendBrightnessEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a2a96c414210f61de3ce53a4ca8c963b3", null ], - [ "sendColorEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a3599a6d00eb0f9127a7c1188885c5bc0", null ], - [ "sendColorTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a0f90d7f5a5b365116f97beca7630ccc9", null ], - [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#acfd5f3a30933ace93751bd823630cded", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a04266791a4b23e9614b8773edb5f67b6", null ] - ] ], - [ "SinricProLock", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_lock.html", [ - [ "onLockState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_lock.html#aee42cc397234a454fd353ca6bc12a859", null ], - [ "sendLockStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_lock.html#a8fb3fec204da21e69d05f89a9ecb4739", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_lock.html#a04266791a4b23e9614b8773edb5f67b6", null ] - ] ], - [ "SinricProMotionsensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_motionsensor.html", [ - [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_motionsensor.html#a32f3257da431a1035f23a265ff0cc4cf", null ], - [ "sendMotionEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_motionsensor.html#a9be024aa2bb70f0146a02dd1b79d3faa", null ], - [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_motionsensor.html#acfd5f3a30933ace93751bd823630cded", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_motionsensor.html#a04266791a4b23e9614b8773edb5f67b6", null ] - ] ], - [ "SinricProPowerSensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_power_sensor.html", [ - [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_power_sensor.html#a32f3257da431a1035f23a265ff0cc4cf", null ], - [ "sendPowerSensorEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_power_sensor.html#aec04692842ae1953973503f6be6d9afc", null ], - [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_power_sensor.html#acfd5f3a30933ace93751bd823630cded", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_power_sensor.html#a04266791a4b23e9614b8773edb5f67b6", null ] - ] ], - [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html", [ - [ "onAdjustBands", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a41a5c1506545c44c2408054a8675c7a8", null ], - [ "onAdjustVolume", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a2c868c87f96e3924c8b309e1bcfb507e", null ], - [ "onMediaControl", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#afc2620621377fff928737b5a8a537020", null ], - [ "onMute", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#ab5fc79cc8903c3ccc1c106abf61d7cfd", null ], - [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a32f3257da431a1035f23a265ff0cc4cf", null ], - [ "onResetBands", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#aa6c3aabc2b442d82ac5456ccaac3f60d", null ], - [ "onSelectInput", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a18f8f71ecf0d7292a63d9486f94e5180", null ], - [ "onSetBands", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a4aaa7a29394560be7537a86b0304d199", null ], - [ "onSetMode", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a6b15ba168b3a673b98da43ac5e4ef76c", null ], - [ "onSetMode", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#ada087c948c3ab923bdb7818daa6b2b79", null ], - [ "onSetVolume", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a5db8c85f222debbece54c794015f9402", null ], - [ "sendBandsEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a4ad5674e36d96a73147388251b794c82", null ], - [ "sendMediaControlEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a7af593cbf79d38f6b90efb5afee45077", null ], - [ "sendModeEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a7c84d5c26f2ded88e4941313015f7f4c", null ], - [ "sendModeEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a41f8465e89d147c08ab8cbc6839d34da", null ], - [ "sendMuteEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a4717d892b64a14052712152924bd5b29", null ], - [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#acfd5f3a30933ace93751bd823630cded", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a04266791a4b23e9614b8773edb5f67b6", null ], - [ "sendSelectInputEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a973241ac912a18b142d236dda7f80e97", null ], - [ "sendVolumeEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#aa2d3dbea5b07e4c5f39d3d20aa2167a4", null ] - ] ], - [ "SinricProSwitch", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_switch.html", [ - [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_switch.html#a32f3257da431a1035f23a265ff0cc4cf", null ], - [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_switch.html#acfd5f3a30933ace93751bd823630cded", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_switch.html#a04266791a4b23e9614b8773edb5f67b6", null ] - ] ], - [ "SinricProTemperaturesensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_temperaturesensor.html", [ - [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_temperaturesensor.html#a32f3257da431a1035f23a265ff0cc4cf", null ], - [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_temperaturesensor.html#acfd5f3a30933ace93751bd823630cded", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_temperaturesensor.html#a04266791a4b23e9614b8773edb5f67b6", null ], - [ "sendTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_temperaturesensor.html#a75956fe7aff6e595a9b57519316ff789", null ] - ] ], - [ "SinricProThermostat", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html", [ - [ "onAdjustTargetTemperature", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html#ac51f6fecfdf4c7bc8e0712e2da47bbf4", null ], - [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html#a32f3257da431a1035f23a265ff0cc4cf", null ], - [ "onTargetTemperature", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html#a1c73725f1f3fbb1c5b72208aae5c2bf2", null ], - [ "onThermostatMode", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html#a2ef31536973b20815dd6c80a28e19c9f", null ], - [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html#acfd5f3a30933ace93751bd823630cded", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html#a04266791a4b23e9614b8773edb5f67b6", null ], - [ "sendTargetTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html#ab8b7fdd977a0a38413f2279b50274890", null ], - [ "sendTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html#a75956fe7aff6e595a9b57519316ff789", null ], - [ "sendThermostatModeEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html#ae7273cd094f64a93494ae99501fc83e8", null ] - ] ], - [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html", [ - [ "onAdjustVolume", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#a2c868c87f96e3924c8b309e1bcfb507e", null ], - [ "onChangeChannel", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#a92f3b83744b5bb82d32628eef39c1eb9", null ], - [ "onChangeChannelNumber", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#afd8aee20590bfadec181c6ee515125ec", null ], - [ "onMediaControl", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#afc2620621377fff928737b5a8a537020", null ], - [ "onMute", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#ab5fc79cc8903c3ccc1c106abf61d7cfd", null ], - [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#a32f3257da431a1035f23a265ff0cc4cf", null ], - [ "onSelectInput", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#a18f8f71ecf0d7292a63d9486f94e5180", null ], - [ "onSetVolume", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#a5db8c85f222debbece54c794015f9402", null ], - [ "onSkipChannels", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#ab1123d03d471fad4896eb2960ed41855", null ], - [ "sendChangeChannelEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#aff5839c3020c3006af1a2a8c37cc858e", null ], - [ "sendMediaControlEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#a7af593cbf79d38f6b90efb5afee45077", null ], - [ "sendMuteEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#a4717d892b64a14052712152924bd5b29", null ], - [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#acfd5f3a30933ace93751bd823630cded", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#a04266791a4b23e9614b8773edb5f67b6", null ], - [ "sendSelectInputEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#a973241ac912a18b142d236dda7f80e97", null ], - [ "sendVolumeEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#aa2d3dbea5b07e4c5f39d3d20aa2167a4", null ] - ] ], - [ "SinricProWindowAC", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html", [ - [ "onAdjustRangeValue", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#ae85696d55112ae7343f9807faee6e064", null ], - [ "onAdjustTargetTemperature", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#ac51f6fecfdf4c7bc8e0712e2da47bbf4", null ], - [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#a32f3257da431a1035f23a265ff0cc4cf", null ], - [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#a6d6d8070b49c8b5272460836a1120b33", null ], - [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#a94adbcdf6ce61cb6552a5f9915e705ae", null ], - [ "onTargetTemperature", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#a1c73725f1f3fbb1c5b72208aae5c2bf2", null ], - [ "onThermostatMode", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#a2ef31536973b20815dd6c80a28e19c9f", null ], - [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#acfd5f3a30933ace93751bd823630cded", null ], - [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#a04266791a4b23e9614b8773edb5f67b6", null ], - [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#aaf84aa417e2246843a27e819898e64b5", null ], - [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#a1d726751c416fe6dd408e5dd19f6b53b", null ], - [ "sendTargetTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#ab8b7fdd977a0a38413f2279b50274890", null ], - [ "sendThermostatModeEvent", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#ae7273cd094f64a93494ae99501fc83e8", null ] + [ "SinricProAirQualitySensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.html", [ + [ "sendAirQualityEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.html#a733195bdc5b15c858e4e890847b3a0d5", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.html#a04266791a4b23e9614b8773edb5f67b6", null ] + ] ], + [ "SinricProBlinds", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html", [ + [ "onAdjustRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#ae85696d55112ae7343f9807faee6e064", null ], + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#a6d6d8070b49c8b5272460836a1120b33", null ], + [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#a94adbcdf6ce61cb6552a5f9915e705ae", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#a04266791a4b23e9614b8773edb5f67b6", null ], + [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#aaf84aa417e2246843a27e819898e64b5", null ], + [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#a1d726751c416fe6dd408e5dd19f6b53b", null ] + ] ], + [ "SinricProCamera", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html", [ + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html#a04266791a4b23e9614b8773edb5f67b6", null ] + ] ], + [ "SinricProContactsensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.html", [ + [ "sendContactEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.html#a452a4cfa3177d8d8d31c5919e9ccbb19", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.html#a04266791a4b23e9614b8773edb5f67b6", null ] + ] ], + [ "SinricProDimSwitch", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html", [ + [ "onAdjustPowerLevel", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html#a13b10bdb1844babe4de320fff9172d96", null ], + [ "onPowerLevel", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html#a0685d34694badb4442fed6b69b69b366", null ], + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "sendPowerLevelEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html#a2f1f88c7b4d9503bfcfe5557c5e55ed4", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html#a04266791a4b23e9614b8773edb5f67b6", null ] + ] ], + [ "SinricProDoorbell", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html", [ + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "sendDoorbellEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html#a168f5a4ddcbf381fd548bf10ee05b272", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html#a04266791a4b23e9614b8773edb5f67b6", null ] + ] ], + [ "SinricProFan", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html", [ + [ "onAdjustPowerLevel", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html#a13b10bdb1844babe4de320fff9172d96", null ], + [ "onPowerLevel", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html#a0685d34694badb4442fed6b69b69b366", null ], + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "sendPowerLevelEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html#a2f1f88c7b4d9503bfcfe5557c5e55ed4", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html#a04266791a4b23e9614b8773edb5f67b6", null ] + ] ], + [ "SinricProFanUS", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html", [ + [ "onAdjustRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#ae85696d55112ae7343f9807faee6e064", null ], + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#a6d6d8070b49c8b5272460836a1120b33", null ], + [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#a94adbcdf6ce61cb6552a5f9915e705ae", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#a04266791a4b23e9614b8773edb5f67b6", null ], + [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#aaf84aa417e2246843a27e819898e64b5", null ], + [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#a1d726751c416fe6dd408e5dd19f6b53b", null ] + ] ], + [ "SinricProGarageDoor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html", [ + [ "onDoorState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html#a6b536531ab89b39f1a48cb107e22185e", null ], + [ "sendDoorStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html#a375cda2b0bc05e1a66e3bc29d059d9a7", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html#a04266791a4b23e9614b8773edb5f67b6", null ] + ] ], + [ "SinricProLight", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html", [ + [ "onAdjustBrightness", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a0633e5fa2981189f4a093bab00a8c7f1", null ], + [ "onBrightness", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#abbaab3067b1fcdcc5928451b818a4420", null ], + [ "onColor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a059ff103149869b7c49cdb8911875b7b", null ], + [ "onColorTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a8535c44fd2517ed09ebe6a203cc25b67", null ], + [ "onDecreaseColorTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a7468976e7fffeee14cc869b7236cbb50", null ], + [ "onIncreaseColorTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a7ea9fd9861a5668a41d06267bfbec82a", null ], + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "sendBrightnessEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a2a96c414210f61de3ce53a4ca8c963b3", null ], + [ "sendColorEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a3599a6d00eb0f9127a7c1188885c5bc0", null ], + [ "sendColorTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a0f90d7f5a5b365116f97beca7630ccc9", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a04266791a4b23e9614b8773edb5f67b6", null ] + ] ], + [ "SinricProLock", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html", [ + [ "onLockState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html#aee42cc397234a454fd353ca6bc12a859", null ], + [ "sendLockStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html#a8fb3fec204da21e69d05f89a9ecb4739", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html#a04266791a4b23e9614b8773edb5f67b6", null ] + ] ], + [ "SinricProMotionsensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.html", [ + [ "sendMotionEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.html#a9be024aa2bb70f0146a02dd1b79d3faa", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.html#a04266791a4b23e9614b8773edb5f67b6", null ] + ] ], + [ "SinricProPowerSensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.html", [ + [ "sendPowerSensorEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.html#aec04692842ae1953973503f6be6d9afc", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.html#a04266791a4b23e9614b8773edb5f67b6", null ] + ] ], + [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html", [ + [ "onAdjustBands", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a41a5c1506545c44c2408054a8675c7a8", null ], + [ "onAdjustVolume", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a2c868c87f96e3924c8b309e1bcfb507e", null ], + [ "onMediaControl", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#afc2620621377fff928737b5a8a537020", null ], + [ "onMute", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#ab5fc79cc8903c3ccc1c106abf61d7cfd", null ], + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "onResetBands", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#aa6c3aabc2b442d82ac5456ccaac3f60d", null ], + [ "onSelectInput", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a18f8f71ecf0d7292a63d9486f94e5180", null ], + [ "onSetBands", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a4aaa7a29394560be7537a86b0304d199", null ], + [ "onSetMode", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a6b15ba168b3a673b98da43ac5e4ef76c", null ], + [ "onSetMode", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#ada087c948c3ab923bdb7818daa6b2b79", null ], + [ "onSetVolume", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a5db8c85f222debbece54c794015f9402", null ], + [ "sendBandsEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a4ad5674e36d96a73147388251b794c82", null ], + [ "sendMediaControlEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a7af593cbf79d38f6b90efb5afee45077", null ], + [ "sendModeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a7c84d5c26f2ded88e4941313015f7f4c", null ], + [ "sendModeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a41f8465e89d147c08ab8cbc6839d34da", null ], + [ "sendMuteEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a4717d892b64a14052712152924bd5b29", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a04266791a4b23e9614b8773edb5f67b6", null ], + [ "sendSelectInputEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a973241ac912a18b142d236dda7f80e97", null ], + [ "sendVolumeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#aa2d3dbea5b07e4c5f39d3d20aa2167a4", null ] + ] ], + [ "SinricProSwitch", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html", [ + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html#a04266791a4b23e9614b8773edb5f67b6", null ] + ] ], + [ "SinricProTemperaturesensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.html", [ + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.html#a04266791a4b23e9614b8773edb5f67b6", null ], + [ "sendTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.html#a75956fe7aff6e595a9b57519316ff789", null ] + ] ], + [ "SinricProThermostat", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html", [ + [ "onAdjustTargetTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#ac51f6fecfdf4c7bc8e0712e2da47bbf4", null ], + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "onTargetTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#a1c73725f1f3fbb1c5b72208aae5c2bf2", null ], + [ "onThermostatMode", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#a2ef31536973b20815dd6c80a28e19c9f", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#a04266791a4b23e9614b8773edb5f67b6", null ], + [ "sendTargetTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#ab8b7fdd977a0a38413f2279b50274890", null ], + [ "sendTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#a75956fe7aff6e595a9b57519316ff789", null ], + [ "sendThermostatModeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#ae7273cd094f64a93494ae99501fc83e8", null ] + ] ], + [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html", [ + [ "onAdjustVolume", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a2c868c87f96e3924c8b309e1bcfb507e", null ], + [ "onChangeChannel", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a92f3b83744b5bb82d32628eef39c1eb9", null ], + [ "onChangeChannelNumber", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#afd8aee20590bfadec181c6ee515125ec", null ], + [ "onMediaControl", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#afc2620621377fff928737b5a8a537020", null ], + [ "onMute", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#ab5fc79cc8903c3ccc1c106abf61d7cfd", null ], + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "onSelectInput", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a18f8f71ecf0d7292a63d9486f94e5180", null ], + [ "onSetVolume", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a5db8c85f222debbece54c794015f9402", null ], + [ "onSkipChannels", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#ab1123d03d471fad4896eb2960ed41855", null ], + [ "sendChangeChannelEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#aff5839c3020c3006af1a2a8c37cc858e", null ], + [ "sendMediaControlEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a7af593cbf79d38f6b90efb5afee45077", null ], + [ "sendMuteEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a4717d892b64a14052712152924bd5b29", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a04266791a4b23e9614b8773edb5f67b6", null ], + [ "sendSelectInputEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a973241ac912a18b142d236dda7f80e97", null ], + [ "sendVolumeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#aa2d3dbea5b07e4c5f39d3d20aa2167a4", null ] + ] ], + [ "SinricProWindowAC", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html", [ + [ "onAdjustRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#ae85696d55112ae7343f9807faee6e064", null ], + [ "onAdjustTargetTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#ac51f6fecfdf4c7bc8e0712e2da47bbf4", null ], + [ "onPowerState", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a32f3257da431a1035f23a265ff0cc4cf", null ], + [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a6d6d8070b49c8b5272460836a1120b33", null ], + [ "onRangeValue", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a94adbcdf6ce61cb6552a5f9915e705ae", null ], + [ "onTargetTemperature", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a1c73725f1f3fbb1c5b72208aae5c2bf2", null ], + [ "onThermostatMode", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a2ef31536973b20815dd6c80a28e19c9f", null ], + [ "sendPowerStateEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#acfd5f3a30933ace93751bd823630cded", null ], + [ "sendPushNotification", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a04266791a4b23e9614b8773edb5f67b6", null ], + [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#aaf84aa417e2246843a27e819898e64b5", null ], + [ "sendRangeValueEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a1d726751c416fe6dd408e5dd19f6b53b", null ], + [ "sendTargetTemperatureEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#ab8b7fdd977a0a38413f2279b50274890", null ], + [ "sendThermostatModeEvent", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#ae7273cd094f64a93494ae99501fc83e8", null ] ] ] ]; \ No newline at end of file diff --git a/docs/group___sinric_pro.html b/docs/group___sinric_pro.html index a6951a8..b23840e 100644 --- a/docs/group___sinric_pro.html +++ b/docs/group___sinric_pro.html @@ -1,9 +1,9 @@ - + - - + + SinricPro Library: SinricPro @@ -23,8 +23,8 @@
- - + @@ -33,21 +33,22 @@
+
SinricPro Library
- + +/* @license-end */ +
@@ -61,7 +62,7 @@
@@ -75,26 +76,32 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Classes
-
-
SinricPro
+
SinricPro

Main instance of SinricProClass. More...

- - - + +

+

Classes

class  SinricProClass
 The main class of this library, handling communication between SinricPro Server and your devices. More...
class  SinricProClass
 The main class of this library, handling communication between SinricPro Server and your devices. More...
 

Detailed Description

@@ -104,7 +111,7 @@ diff --git a/docs/group___sinric_pro.js b/docs/group___sinric_pro.js index 0b12366..d9646fc 100644 --- a/docs/group___sinric_pro.js +++ b/docs/group___sinric_pro.js @@ -1,12 +1,12 @@ var group___sinric_pro = [ - [ "SinricProClass", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html", [ - [ "begin", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#a1b5b66fb0c539b9b5f5f58a135056c75", null ], - [ "getTimestamp", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#afb2be26eef972203404140612fa31326", null ], - [ "handle", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#a37c2d0658e498b1bf878f8a3d9a7c5b4", null ], - [ "onConnected", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#ac33a355adfc413d4ff36974d735115bd", null ], - [ "onDisconnected", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#a654bb017ca55b448d55bb36e0346f38a", null ], - [ "operator[]", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#a84a491d393b5c7c1433a2a9e62a58766", null ], - [ "restoreDeviceStates", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#a27a9bb7f1e8bde0f39398649493b6f93", null ] + [ "SinricProClass", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html", [ + [ "begin", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#a1b5b66fb0c539b9b5f5f58a135056c75", null ], + [ "getTimestamp", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#afb2be26eef972203404140612fa31326", null ], + [ "handle", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#a37c2d0658e498b1bf878f8a3d9a7c5b4", null ], + [ "onConnected", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#ac33a355adfc413d4ff36974d735115bd", null ], + [ "onDisconnected", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#a654bb017ca55b448d55bb36e0346f38a", null ], + [ "operator[]", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#ab68694b0983ae36c532cbd52adbb180d", null ], + [ "restoreDeviceStates", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#a27a9bb7f1e8bde0f39398649493b6f93", null ] ] ] ]; \ No newline at end of file diff --git a/docs/hierarchy.html b/docs/hierarchy.html index 0621465..11d9fe3 100644 --- a/docs/hierarchy.html +++ b/docs/hierarchy.html @@ -1,9 +1,9 @@ - + - - + + SinricPro Library: Class Hierarchy @@ -23,8 +23,8 @@
- - + @@ -33,21 +33,22 @@
+
SinricPro Library
- + +/* @license-end */ +
@@ -61,7 +62,7 @@
@@ -75,199 +76,195 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
Class Hierarchy
+
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 CAirQualitySensor< T >AirQuality
 CAirQualitySensor< SinricProAirQualitySensor >
 CBrightnessController< T >BrightnessController
 CBrightnessController< SinricProLight >
 CChannelController< T >ChannelController
 CChannelController< SinricProTV >
 CColorController< T >ColorController
 CColorController< SinricProLight >
 CColorTemperatureController< T >ColorTemperatureController
 CColorTemperatureController< SinricProLight >
 CContactSensor< T >ContactSensor
 CContactSensor< SinricProContactsensor >
 CDoorbell< T >Dorbell
 CDoorbell< SinricProDoorbell >
 CDoorController< T >DoorController - only used for GarageDoor device and cannot used as capability for a custom device!
 CDoorController< SinricProGarageDoor >
 CEqualizerController< T >EqualizerController
 CEqualizerController< SinricProSpeaker >
 CInputController< T >InputController
 CInputController< SinricProSpeaker >
 CInputController< SinricProTV >
 CKeypadController< T >KeypadController
 CLockController< T >LockController
 CLockController< SinricProLock >
 CMediaController< T >MediaController
 CMediaController< SinricProSpeaker >
 CMediaController< SinricProTV >
 CModeController< T >ModeController
 CModeController< SinricProSpeaker >
 CMotionSensor< T >MotionSensor
 CMotionSensor< SinricProMotionsensor >
 CMuteController< T >MuteController
 CMuteController< SinricProSpeaker >
 CMuteController< SinricProTV >
 CPercentageController< T >PercentageController
 CPowerLevelController< T >PowerLevelController
 CPowerLevelController< SinricProDimSwitch >
 CPowerLevelController< SinricProFan >
 CPowerSensor< T >PowerSensor
 CPowerSensor< SinricProPowerSensor >
 CPowerStateController< T >PowerStateController
 CPowerStateController< SinricProAirQualitySensor >
 CPowerStateController< SinricProBlinds >
 CPowerStateController< SinricProCamera >
 CPowerStateController< SinricProContactsensor >
 CPowerStateController< SinricProDimSwitch >
 CPowerStateController< SinricProDoorbell >
 CPowerStateController< SinricProFan >
 CPowerStateController< SinricProFanUS >
 CPowerStateController< SinricProLight >
 CPowerStateController< SinricProMotionsensor >
 CPowerStateController< SinricProPowerSensor >
 CPowerStateController< SinricProSpeaker >
 CPowerStateController< SinricProSwitch >
 CPowerStateController< SinricProTemperaturesensor >
 CPowerStateController< SinricProThermostat >
 CPowerStateController< SinricProTV >
 CPowerStateController< SinricProWindowAC >
 CPushNotification< T >PushNotification
 CPushNotification< SinricProAirQualitySensor >
 CPushNotification< SinricProBlinds >
 CPushNotification< SinricProCamera >
 CPushNotification< SinricProContactsensor >
 CPushNotification< SinricProDimSwitch >
 CPushNotification< SinricProDoorbell >
 CPushNotification< SinricProFan >
 CPushNotification< SinricProFanUS >
 CPushNotification< SinricProGarageDoor >
 CPushNotification< SinricProLight >
 CPushNotification< SinricProLock >
 CPushNotification< SinricProMotionsensor >
 CPushNotification< SinricProPowerSensor >
 CPushNotification< SinricProSpeaker >
 CPushNotification< SinricProSwitch >
 CPushNotification< SinricProTemperaturesensor >
 CPushNotification< SinricProThermostat >
 CPushNotification< SinricProTV >
 CPushNotification< SinricProWindowAC >
 CRangeController< T >RangeControllerFloatInt
 CRangeController< SinricProBlinds >
 CRangeController< SinricProFanUS >
 CRangeController< SinricProWindowAC >
 CSinricProClassThe main class of this library, handling communication between SinricPro Server and your devices
 CSinricProDeviceBase class for all device types
 CTemperatureSensor< T >TemperatureSensor
 CTemperatureSensor< SinricProTemperaturesensor >
 CTemperatureSensor< SinricProThermostat >
 CThermostatController< T >ThermostatController
 CThermostatController< SinricProThermostat >
 CThermostatController< SinricProWindowAC >
 CToggleController< T >ToggleController
 CVolumeController< T >VolumeController
 CVolumeController< SinricProSpeaker >
 CVolumeController< SinricProTV >
 CAirQualitySensor< T >AirQuality
 CAirQualitySensor< SinricProAirQualitySensor >
 CBrightnessController< T >BrightnessController
 CBrightnessController< SinricProLight >
 CChannelController< T >ChannelController
 CChannelController< SinricProTV >
 CColorController< T >ColorController
 CColorController< SinricProLight >
 CColorTemperatureController< T >ColorTemperatureController
 CColorTemperatureController< SinricProLight >
 CContactSensor< T >ContactSensor
 CContactSensor< SinricProContactsensor >
 CDoorbell< T >Dorbell
 CDoorbell< SinricProDoorbell >
 CDoorController< T >DoorController - only used for GarageDoor device and cannot used as capability for a custom device!
 CDoorController< SinricProGarageDoor >
 CEqualizerController< T >EqualizerController
 CEqualizerController< SinricProSpeaker >
 CInputController< T >InputController
 CInputController< SinricProSpeaker >
 CInputController< SinricProTV >
 CKeypadController< T >KeypadController
 CLockController< T >LockController
 CLockController< SinricProLock >
 CMediaController< T >MediaController
 CMediaController< SinricProSpeaker >
 CMediaController< SinricProTV >
 CModeController< T >ModeController
 CModeController< SinricProSpeaker >
 CMotionSensor< T >MotionSensor
 CMotionSensor< SinricProMotionsensor >
 CMuteController< T >MuteController
 CMuteController< SinricProSpeaker >
 CMuteController< SinricProTV >
 CPercentageController< T >PercentageController
 CPowerLevelController< T >PowerLevelController
 CPowerLevelController< SinricProDimSwitch >
 CPowerLevelController< SinricProFan >
 CPowerSensor< T >PowerSensor
 CPowerSensor< SinricProPowerSensor >
 CPowerStateController< T >PowerStateController
 CPowerStateController< SinricProBlinds >
 CPowerStateController< SinricProCamera >
 CPowerStateController< SinricProDimSwitch >
 CPowerStateController< SinricProDoorbell >
 CPowerStateController< SinricProFan >
 CPowerStateController< SinricProFanUS >
 CPowerStateController< SinricProLight >
 CPowerStateController< SinricProSpeaker >
 CPowerStateController< SinricProSwitch >
 CPowerStateController< SinricProThermostat >
 CPowerStateController< SinricProTV >
 CPowerStateController< SinricProWindowAC >
 CPushNotification< T >PushNotification
 CPushNotification< SinricProAirQualitySensor >
 CPushNotification< SinricProBlinds >
 CPushNotification< SinricProCamera >
 CPushNotification< SinricProContactsensor >
 CPushNotification< SinricProDimSwitch >
 CPushNotification< SinricProDoorbell >
 CPushNotification< SinricProFan >
 CPushNotification< SinricProFanUS >
 CPushNotification< SinricProGarageDoor >
 CPushNotification< SinricProLight >
 CPushNotification< SinricProLock >
 CPushNotification< SinricProMotionsensor >
 CPushNotification< SinricProPowerSensor >
 CPushNotification< SinricProSpeaker >
 CPushNotification< SinricProSwitch >
 CPushNotification< SinricProTemperaturesensor >
 CPushNotification< SinricProThermostat >
 CPushNotification< SinricProTV >
 CPushNotification< SinricProWindowAC >
 CRangeController< T >RangeControllerFloatInt
 CRangeController< SinricProBlinds >
 CRangeController< SinricProFanUS >
 CRangeController< SinricProWindowAC >
 CSinricProClassThe main class of this library, handling communication between SinricPro Server and your devices
 CSinricProDeviceBase class for all device types
 CTemperatureSensor< T >TemperatureSensor
 CTemperatureSensor< SinricProTemperaturesensor >
 CTemperatureSensor< SinricProThermostat >
 CThermostatController< T >ThermostatController
 CThermostatController< SinricProThermostat >
 CThermostatController< SinricProWindowAC >
 CToggleController< T >ToggleController
 CVolumeController< T >VolumeController
 CVolumeController< SinricProSpeaker >
 CVolumeController< SinricProTV >
@@ -275,7 +272,7 @@ diff --git a/docs/hierarchy.js b/docs/hierarchy.js index 5fa6d99..270e4df 100644 --- a/docs/hierarchy.js +++ b/docs/hierarchy.js @@ -1,249 +1,234 @@ var hierarchy = [ - [ "AirQualitySensor< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_air_quality_sensor.html", null ], - [ "AirQualitySensor< SinricProAirQualitySensor >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_air_quality_sensor.html", [ - [ "SinricProAirQualitySensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_air_quality_sensor.html", null ] + [ "AirQualitySensor< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.html", null ], + [ "AirQualitySensor< SinricProAirQualitySensor >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.html", [ + [ "SinricProAirQualitySensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.html", null ] ] ], - [ "BrightnessController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller.html", null ], - [ "BrightnessController< SinricProLight >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller.html", [ - [ "SinricProLight", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html", null ] + [ "BrightnessController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html", null ], + [ "BrightnessController< SinricProLight >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html", [ + [ "SinricProLight", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html", null ] ] ], - [ "ChannelController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html", null ], - [ "ChannelController< SinricProTV >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html", [ - [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html", null ] + [ "ChannelController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html", null ], + [ "ChannelController< SinricProTV >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html", [ + [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html", null ] ] ], - [ "ColorController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_controller.html", null ], - [ "ColorController< SinricProLight >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_controller.html", [ - [ "SinricProLight", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html", null ] + [ "ColorController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html", null ], + [ "ColorController< SinricProLight >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html", [ + [ "SinricProLight", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html", null ] ] ], - [ "ColorTemperatureController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html", null ], - [ "ColorTemperatureController< SinricProLight >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html", [ - [ "SinricProLight", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html", null ] + [ "ColorTemperatureController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html", null ], + [ "ColorTemperatureController< SinricProLight >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html", [ + [ "SinricProLight", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html", null ] ] ], - [ "ContactSensor< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_contact_sensor.html", null ], - [ "ContactSensor< SinricProContactsensor >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_contact_sensor.html", [ - [ "SinricProContactsensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_contactsensor.html", null ] + [ "ContactSensor< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.html", null ], + [ "ContactSensor< SinricProContactsensor >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.html", [ + [ "SinricProContactsensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.html", null ] ] ], - [ "Doorbell< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_doorbell.html", null ], - [ "Doorbell< SinricProDoorbell >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_doorbell.html", [ - [ "SinricProDoorbell", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_doorbell.html", null ] + [ "Doorbell< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.html", null ], + [ "Doorbell< SinricProDoorbell >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.html", [ + [ "SinricProDoorbell", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html", null ] ] ], - [ "DoorController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_door_controller.html", null ], - [ "DoorController< SinricProGarageDoor >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_door_controller.html", [ - [ "SinricProGarageDoor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_garage_door.html", null ] + [ "DoorController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.html", null ], + [ "DoorController< SinricProGarageDoor >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.html", [ + [ "SinricProGarageDoor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html", null ] ] ], - [ "EqualizerController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html", null ], - [ "EqualizerController< SinricProSpeaker >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html", [ - [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html", null ] + [ "EqualizerController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html", null ], + [ "EqualizerController< SinricProSpeaker >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html", [ + [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html", null ] ] ], - [ "InputController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller.html", null ], - [ "InputController< SinricProSpeaker >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller.html", [ - [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html", null ] + [ "InputController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html", null ], + [ "InputController< SinricProSpeaker >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html", [ + [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html", null ] ] ], - [ "InputController< SinricProTV >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller.html", [ - [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html", null ] + [ "InputController< SinricProTV >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html", [ + [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html", null ] ] ], - [ "KeypadController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_keypad_controller.html", null ], - [ "LockController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_lock_controller.html", null ], - [ "LockController< SinricProLock >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_lock_controller.html", [ - [ "SinricProLock", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_lock.html", null ] + [ "KeypadController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller.html", null ], + [ "LockController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html", null ], + [ "LockController< SinricProLock >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html", [ + [ "SinricProLock", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html", null ] ] ], - [ "MediaController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller.html", null ], - [ "MediaController< SinricProSpeaker >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller.html", [ - [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html", null ] + [ "MediaController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html", null ], + [ "MediaController< SinricProSpeaker >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html", [ + [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html", null ] ] ], - [ "MediaController< SinricProTV >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller.html", [ - [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html", null ] + [ "MediaController< SinricProTV >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html", [ + [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html", null ] ] ], - [ "ModeController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html", null ], - [ "ModeController< SinricProSpeaker >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html", [ - [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html", null ] + [ "ModeController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html", null ], + [ "ModeController< SinricProSpeaker >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html", [ + [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html", null ] ] ], - [ "MotionSensor< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_motion_sensor.html", null ], - [ "MotionSensor< SinricProMotionsensor >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_motion_sensor.html", [ - [ "SinricProMotionsensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_motionsensor.html", null ] + [ "MotionSensor< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.html", null ], + [ "MotionSensor< SinricProMotionsensor >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.html", [ + [ "SinricProMotionsensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.html", null ] ] ], - [ "MuteController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller.html", null ], - [ "MuteController< SinricProSpeaker >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller.html", [ - [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html", null ] + [ "MuteController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html", null ], + [ "MuteController< SinricProSpeaker >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html", [ + [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html", null ] ] ], - [ "MuteController< SinricProTV >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller.html", [ - [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html", null ] + [ "MuteController< SinricProTV >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html", [ + [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html", null ] ] ], - [ "PercentageController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_percentage_controller.html", null ], - [ "PowerLevelController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html", null ], - [ "PowerLevelController< SinricProDimSwitch >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html", [ - [ "SinricProDimSwitch", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html", null ] + [ "PercentageController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html", null ], + [ "PowerLevelController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html", null ], + [ "PowerLevelController< SinricProDimSwitch >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html", [ + [ "SinricProDimSwitch", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html", null ] ] ], - [ "PowerLevelController< SinricProFan >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html", [ - [ "SinricProFan", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html", null ] + [ "PowerLevelController< SinricProFan >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html", [ + [ "SinricProFan", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html", null ] ] ], - [ "PowerSensor< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_sensor.html", null ], - [ "PowerSensor< SinricProPowerSensor >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_sensor.html", [ - [ "SinricProPowerSensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_power_sensor.html", null ] + [ "PowerSensor< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.html", null ], + [ "PowerSensor< SinricProPowerSensor >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.html", [ + [ "SinricProPowerSensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.html", null ] ] ], - [ "PowerStateController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", null ], - [ "PowerStateController< SinricProAirQualitySensor >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", [ - [ "SinricProAirQualitySensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_air_quality_sensor.html", null ] + [ "PowerStateController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html", null ], + [ "PowerStateController< SinricProBlinds >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html", [ + [ "SinricProBlinds", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html", null ] ] ], - [ "PowerStateController< SinricProBlinds >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", [ - [ "SinricProBlinds", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html", null ] + [ "PowerStateController< SinricProCamera >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html", [ + [ "SinricProCamera", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html", null ] ] ], - [ "PowerStateController< SinricProCamera >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", [ - [ "SinricProCamera", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_camera.html", null ] + [ "PowerStateController< SinricProDimSwitch >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html", [ + [ "SinricProDimSwitch", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html", null ] ] ], - [ "PowerStateController< SinricProContactsensor >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", [ - [ "SinricProContactsensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_contactsensor.html", null ] + [ "PowerStateController< SinricProDoorbell >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html", [ + [ "SinricProDoorbell", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html", null ] ] ], - [ "PowerStateController< SinricProDimSwitch >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", [ - [ "SinricProDimSwitch", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html", null ] + [ "PowerStateController< SinricProFan >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html", [ + [ "SinricProFan", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html", null ] ] ], - [ "PowerStateController< SinricProDoorbell >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", [ - [ "SinricProDoorbell", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_doorbell.html", null ] + [ "PowerStateController< SinricProFanUS >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html", [ + [ "SinricProFanUS", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html", null ] ] ], - [ "PowerStateController< SinricProFan >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", [ - [ "SinricProFan", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html", null ] + [ "PowerStateController< SinricProLight >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html", [ + [ "SinricProLight", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html", null ] ] ], - [ "PowerStateController< SinricProFanUS >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", [ - [ "SinricProFanUS", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html", null ] + [ "PowerStateController< SinricProSpeaker >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html", [ + [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html", null ] ] ], - [ "PowerStateController< SinricProLight >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", [ - [ "SinricProLight", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html", null ] + [ "PowerStateController< SinricProSwitch >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html", [ + [ "SinricProSwitch", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html", null ] ] ], - [ "PowerStateController< SinricProMotionsensor >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", [ - [ "SinricProMotionsensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_motionsensor.html", null ] + [ "PowerStateController< SinricProThermostat >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html", [ + [ "SinricProThermostat", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html", null ] ] ], - [ "PowerStateController< SinricProPowerSensor >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", [ - [ "SinricProPowerSensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_power_sensor.html", null ] + [ "PowerStateController< SinricProTV >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html", [ + [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html", null ] ] ], - [ "PowerStateController< SinricProSpeaker >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", [ - [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html", null ] + [ "PowerStateController< SinricProWindowAC >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html", [ + [ "SinricProWindowAC", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html", null ] ] ], - [ "PowerStateController< SinricProSwitch >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", [ - [ "SinricProSwitch", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_switch.html", null ] + [ "PushNotification< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", null ], + [ "PushNotification< SinricProAirQualitySensor >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProAirQualitySensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.html", null ] ] ], - [ "PowerStateController< SinricProTemperaturesensor >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", [ - [ "SinricProTemperaturesensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_temperaturesensor.html", null ] + [ "PushNotification< SinricProBlinds >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProBlinds", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html", null ] ] ], - [ "PowerStateController< SinricProThermostat >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", [ - [ "SinricProThermostat", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html", null ] + [ "PushNotification< SinricProCamera >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProCamera", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html", null ] ] ], - [ "PowerStateController< SinricProTV >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", [ - [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html", null ] + [ "PushNotification< SinricProContactsensor >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProContactsensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.html", null ] ] ], - [ "PowerStateController< SinricProWindowAC >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html", [ - [ "SinricProWindowAC", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html", null ] + [ "PushNotification< SinricProDimSwitch >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProDimSwitch", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html", null ] ] ], - [ "PushNotification< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", null ], - [ "PushNotification< SinricProAirQualitySensor >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProAirQualitySensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_air_quality_sensor.html", null ] + [ "PushNotification< SinricProDoorbell >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProDoorbell", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html", null ] ] ], - [ "PushNotification< SinricProBlinds >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProBlinds", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html", null ] + [ "PushNotification< SinricProFan >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProFan", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html", null ] ] ], - [ "PushNotification< SinricProCamera >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProCamera", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_camera.html", null ] + [ "PushNotification< SinricProFanUS >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProFanUS", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html", null ] ] ], - [ "PushNotification< SinricProContactsensor >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProContactsensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_contactsensor.html", null ] + [ "PushNotification< SinricProGarageDoor >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProGarageDoor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html", null ] ] ], - [ "PushNotification< SinricProDimSwitch >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProDimSwitch", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html", null ] + [ "PushNotification< SinricProLight >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProLight", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html", null ] ] ], - [ "PushNotification< SinricProDoorbell >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProDoorbell", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_doorbell.html", null ] + [ "PushNotification< SinricProLock >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProLock", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html", null ] ] ], - [ "PushNotification< SinricProFan >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProFan", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html", null ] + [ "PushNotification< SinricProMotionsensor >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProMotionsensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.html", null ] ] ], - [ "PushNotification< SinricProFanUS >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProFanUS", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html", null ] + [ "PushNotification< SinricProPowerSensor >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProPowerSensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.html", null ] ] ], - [ "PushNotification< SinricProGarageDoor >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProGarageDoor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_garage_door.html", null ] + [ "PushNotification< SinricProSpeaker >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html", null ] ] ], - [ "PushNotification< SinricProLight >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProLight", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html", null ] + [ "PushNotification< SinricProSwitch >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProSwitch", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html", null ] ] ], - [ "PushNotification< SinricProLock >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProLock", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_lock.html", null ] + [ "PushNotification< SinricProTemperaturesensor >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProTemperaturesensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.html", null ] ] ], - [ "PushNotification< SinricProMotionsensor >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProMotionsensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_motionsensor.html", null ] + [ "PushNotification< SinricProThermostat >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProThermostat", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html", null ] ] ], - [ "PushNotification< SinricProPowerSensor >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProPowerSensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_power_sensor.html", null ] + [ "PushNotification< SinricProTV >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html", null ] ] ], - [ "PushNotification< SinricProSpeaker >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html", null ] + [ "PushNotification< SinricProWindowAC >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html", [ + [ "SinricProWindowAC", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html", null ] ] ], - [ "PushNotification< SinricProSwitch >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProSwitch", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_switch.html", null ] + [ "RangeController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html", null ], + [ "RangeController< SinricProBlinds >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html", [ + [ "SinricProBlinds", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html", null ] ] ], - [ "PushNotification< SinricProTemperaturesensor >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProTemperaturesensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_temperaturesensor.html", null ] + [ "RangeController< SinricProFanUS >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html", [ + [ "SinricProFanUS", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html", null ] ] ], - [ "PushNotification< SinricProThermostat >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProThermostat", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html", null ] + [ "RangeController< SinricProWindowAC >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html", [ + [ "SinricProWindowAC", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html", null ] ] ], - [ "PushNotification< SinricProTV >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html", null ] + [ "SinricProClass", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html", null ], + [ "SinricProDevice", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device.html", [ + [ "SinricProAirQualitySensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.html", null ], + [ "SinricProBlinds", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html", null ], + [ "SinricProCamera", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html", null ], + [ "SinricProContactsensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.html", null ], + [ "SinricProDimSwitch", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html", null ], + [ "SinricProDoorbell", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html", null ], + [ "SinricProFan", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html", null ], + [ "SinricProFanUS", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html", null ], + [ "SinricProGarageDoor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html", null ], + [ "SinricProLight", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html", null ], + [ "SinricProLock", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html", null ], + [ "SinricProMotionsensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.html", null ], + [ "SinricProPowerSensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.html", null ], + [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html", null ], + [ "SinricProSwitch", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html", null ], + [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html", null ], + [ "SinricProTemperaturesensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.html", null ], + [ "SinricProThermostat", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html", null ], + [ "SinricProWindowAC", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html", null ] ] ], - [ "PushNotification< SinricProWindowAC >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html", [ - [ "SinricProWindowAC", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html", null ] + [ "TemperatureSensor< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html", null ], + [ "TemperatureSensor< SinricProTemperaturesensor >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html", [ + [ "SinricProTemperaturesensor", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.html", null ] ] ], - [ "RangeController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html", null ], - [ "RangeController< SinricProBlinds >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html", [ - [ "SinricProBlinds", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html", null ] + [ "TemperatureSensor< SinricProThermostat >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html", [ + [ "SinricProThermostat", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html", null ] ] ], - [ "RangeController< SinricProFanUS >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html", [ - [ "SinricProFanUS", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html", null ] + [ "ThermostatController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html", null ], + [ "ThermostatController< SinricProThermostat >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html", [ + [ "SinricProThermostat", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html", null ] ] ], - [ "RangeController< SinricProWindowAC >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html", [ - [ "SinricProWindowAC", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html", null ] + [ "ThermostatController< SinricProWindowAC >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html", [ + [ "SinricProWindowAC", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html", null ] ] ], - [ "SinricProClass", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html", null ], - [ "SinricProDevice", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_device.html", [ - [ "SinricProAirQualitySensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_air_quality_sensor.html", null ], - [ "SinricProBlinds", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html", null ], - [ "SinricProCamera", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_camera.html", null ], - [ "SinricProContactsensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_contactsensor.html", null ], - [ "SinricProDimSwitch", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html", null ], - [ "SinricProDoorbell", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_doorbell.html", null ], - [ "SinricProFan", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html", null ], - [ "SinricProFanUS", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html", null ], - [ "SinricProGarageDoor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_garage_door.html", null ], - [ "SinricProLight", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html", null ], - [ "SinricProLock", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_lock.html", null ], - [ "SinricProMotionsensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_motionsensor.html", null ], - [ "SinricProPowerSensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_power_sensor.html", null ], - [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html", null ], - [ "SinricProSwitch", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_switch.html", null ], - [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html", null ], - [ "SinricProTemperaturesensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_temperaturesensor.html", null ], - [ "SinricProThermostat", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html", null ], - [ "SinricProWindowAC", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html", null ] + [ "ToggleController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.html", null ], + [ "VolumeController< T >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html", null ], + [ "VolumeController< SinricProSpeaker >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html", [ + [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html", null ] ] ], - [ "TemperatureSensor< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_temperature_sensor.html", null ], - [ "TemperatureSensor< SinricProTemperaturesensor >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_temperature_sensor.html", [ - [ "SinricProTemperaturesensor", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_temperaturesensor.html", null ] - ] ], - [ "TemperatureSensor< SinricProThermostat >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_temperature_sensor.html", [ - [ "SinricProThermostat", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html", null ] - ] ], - [ "ThermostatController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html", null ], - [ "ThermostatController< SinricProThermostat >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html", [ - [ "SinricProThermostat", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html", null ] - ] ], - [ "ThermostatController< SinricProWindowAC >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html", [ - [ "SinricProWindowAC", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html", null ] - ] ], - [ "ToggleController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_toggle_controller.html", null ], - [ "VolumeController< T >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html", null ], - [ "VolumeController< SinricProSpeaker >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html", [ - [ "SinricProSpeaker", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html", null ] - ] ], - [ "VolumeController< SinricProTV >", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html", [ - [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html", null ] + [ "VolumeController< SinricProTV >", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html", [ + [ "SinricProTV", "class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html", null ] ] ] ]; \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index c6c70ae..b812caf 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,11 +1,11 @@ - + - - + + -SinricPro Library: SinricPro (ESP8266 / ESP32 SDK) +SinricPro Library: SinricPro (ESP8266 / ESP32 / RP2040) @@ -23,8 +23,8 @@
- - + @@ -33,21 +33,22 @@
+
SinricPro Library
- + +/* @license-end */ +
@@ -61,7 +62,7 @@
@@ -75,26 +76,33 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
-
SinricPro (ESP8266 / ESP32 SDK)
+
+
SinricPro (ESP8266 / ESP32 / RP2040)
-

arduino-library-badge PlatformIO Registry

-

Platform ESP8266 Platform ESP32

+

arduino-library-badge PlatformIO Registry

+

"" "![Platform ESP8266](https://img.shields.io/badge/Platform-Espressif8266-orange)" "" "![Platform ESP32](https://img.shields.io/badge/Platform-Espressif32-orange)"

Framework

GitHub release (latest by date)

-

Build

+

Build

Note

    -
  1. Use the latest ESP Arduino Core!
  2. +
  3. Use the latest ESP8226/ESP32/RP2040 Arduino Core!
  4. Use the latest WebSocktes library!
  5. +
  6. Use the latest ArduinoJson library!

Installation

@@ -117,7 +125,7 @@

  • Search for SinricPro and click Install
  • -
  • Repeat step 2 for all dependent libraries!
  • +
  • Repeat step 2 for all dependent libraries!
  • Open example in ArduinoIDE (File / Examples / SinricPro / ...)
  • @@ -126,7 +134,7 @@

    Dependencies

    ArduinoJson by Benoit Blanchon (minimum Version 6.12.0)
    - WebSockets by Markus Sattler (minimum Version 2.3.5)

    + WebSockets by Markus Sattler (minimum Version 2.4.0)


    Full user documentation

    @@ -140,62 +148,64 @@

    Usage

    Include SinricPro-Library (SinricPro.h) and SinricPro-Device-Libraries (eg. SinricProSwitch.h)

    -
    {C++}
    -
    #include <SinricPro.h>
    -
    #include <SinricProSwitch.h>
    +
    ++
    +
    #include <SinricPro.h>
    +
    #include <SinricProSwitch.h>

    Define your credentials from SinricPro-Portal (portal.sinric.pro)

    -
    {C++}
    -
    #define APP_KEY "YOUR-APP-KEY" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
    -
    #define APP_SECRET "YOUR-APP-SECRET" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"
    -
    #define SWITCH_ID "YOUR-DEVICE-ID" // Should look like "5dc1564130xxxxxxxxxxxxxx"
    +
    ++
    +
    #define APP_KEY "YOUR-APP-KEY" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
    +
    #define APP_SECRET "YOUR-APP-SECRET" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"
    +
    #define SWITCH_ID "YOUR-DEVICE-ID" // Should look like "5dc1564130xxxxxxxxxxxxxx"

    Define callback routine(s)

    -
    {C++}
    -
    bool onPowerState(const String &deviceId, bool &state) {
    -
    Serial.printf("device %s turned %s\r\n", deviceId.c_str(), state?"on":"off");
    -
    return true; // indicate that callback handled correctly
    +
    ++
    +
    bool onPowerState(const String &deviceId, bool &state) {
    +
    Serial.printf("device %s turned %s\r\n", deviceId.c_str(), state?"on":"off");
    +
    return true; // indicate that callback handled correctly
    }

    In setup()

    -
    {C++}
    -
    // create and add a switch to SinricPro
    +
    ++
    +
    // create and add a switch to SinricPro
    SinricProSwitch& mySwitch = SinricPro[SWITCH_ID];
    -
    // set callback function
    +
    // set callback function
    mySwitch.onPowerState(onPowerState);
    -
    // startup SinricPro
    -
    SinricPro.begin(APP_KEY, APP_SECRET);
    +
    // startup SinricPro
    +
    SinricPro.begin(APP_KEY, APP_SECRET);
    +
    void begin(String appKey, String appSecret, String serverURL="ws.sinric.pro")
    Initializing SinricProClass to be able to connect to SinricPro Server.
    Definition SinricPro.h:176

    In loop()

    -
    {C++}
    -
    SinricPro.handle();
    +
    ++
    +
    SinricPro.handle();
    +
    void handle()
    Handles communication between device and SinricPro Server.
    Definition SinricPro.h:234

    How to add a device?

    Syntax is
    -

    {C++}
    +

    ++
    DeviceType& myDevice = SinricPro[DEVICE_ID];

    Example
    -

    {C++}
    -
    SinricProSwitch& mySwitch = SinricPro["YOUR-SWITCH-ID-HERE"];
    -

    Example 2 (alternatively)

    {C++}
    -
    SinricProSwitch& mySwitch = SinricPro.add<SinricProSwitch>("YOUR-SWITCH-ID-HERE");
    +

    ++
    +
    SinricProSwitch& mySwitch = SinricPro["YOUR-SWITCH-ID-HERE"];
    +

    Example 2 (alternatively)

    ++
    +
    SinricProSwitch& mySwitch = SinricPro.add<SinricProSwitch>("YOUR-SWITCH-ID-HERE");

    How to retrieve a device for sending an event?

    Syntax is
    -

    {C++}
    +

    ++
    DeviceType& myDevice = SinricPro[DEVICE_ID];
    -

    Example 1

    {C++}
    -
    SinricProDoorbell& myDoorbell = SinricPro["YOUR-DOORBELL-ID-HERE"];
    +

    Example 1

    ++
    +
    SinricProDoorbell& myDoorbell = SinricPro["YOUR-DOORBELL-ID-HERE"];
    myDoorbell.sendDoorbellEvent();
    -

    Example 2 (alternatively)

    {C++}
    -
    SinricPro["YOUR-DOORBELL-ID-HERE"].as<SinricProDoorbell>().sendDoorbellEvent();
    +

    Example 2 (alternatively)

    ++
    +
    SinricPro["YOUR-DOORBELL-ID-HERE"].as<SinricProDoorbell>().sendDoorbellEvent();

    How to send a push notification?

    -
    {C++}
    +
    ++
    SinricProSwitch& mySwitch = SinricPro[SWITCH_ID];
    -
    mySwitch.sendPushNotification("Hello SinricPro!");
    +
    mySwitch.sendPushNotification("Hello SinricPro!");

    Devices

    @@ -224,7 +234,7 @@

    diff --git a/docs/index.js b/docs/index.js new file mode 100644 index 0000000..7c6598c --- /dev/null +++ b/docs/index.js @@ -0,0 +1,24 @@ +var index = +[ + [ "Note", "index.html#autotoc_md1", null ], + [ "Installation", "index.html#autotoc_md2", [ + [ "VS Code & PlatformIO:", "index.html#autotoc_md3", null ], + [ "ArduinoIDE", "index.html#autotoc_md4", null ] + ] ], + [ "Dependencies", "index.html#autotoc_md6", null ], + [ "Full user documentation", "index.html#autotoc_md8", null ], + [ "Examples", "index.html#autotoc_md10", null ], + [ "Usage", "index.html#autotoc_md12", [ + [ "Include SinricPro-Library (SinricPro.h) and SinricPro-Device-Libraries (eg. SinricProSwitch.h)", "index.html#autotoc_md13", null ], + [ "Define your credentials from SinricPro-Portal (portal.sinric.pro)", "index.html#autotoc_md14", null ], + [ "Define callback routine(s)", "index.html#autotoc_md15", null ], + [ "In setup()", "index.html#autotoc_md16", null ], + [ "In loop()", "index.html#autotoc_md17", null ] + ] ], + [ "How to add a device?", "index.html#autotoc_md19", null ], + [ "How to retrieve a device for sending an event?", "index.html#autotoc_md21", null ], + [ "How to send a push notification?", "index.html#autotoc_md22", null ], + [ "Devices", "index.html#autotoc_md24", [ + [ "* Custom devices", "index.html#autotoc_md25", null ] + ] ] +]; \ No newline at end of file diff --git a/docs/inherit_graph_0.map b/docs/inherit_graph_0.map index ced46d0..1fed5d2 100644 --- a/docs/inherit_graph_0.map +++ b/docs/inherit_graph_0.map @@ -1,88 +1,163 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/inherit_graph_0.md5 b/docs/inherit_graph_0.md5 index f0d43b7..0c16ec1 100644 --- a/docs/inherit_graph_0.md5 +++ b/docs/inherit_graph_0.md5 @@ -1 +1 @@ -92faddbb363d28af3e393f99fe4ff90c \ No newline at end of file +f7e272f1d7c37c22c61b0fc4b0db2e84 \ No newline at end of file diff --git a/docs/inherit_graph_0.png b/docs/inherit_graph_0.png index dffdb21..2854589 100644 Binary files a/docs/inherit_graph_0.png and b/docs/inherit_graph_0.png differ diff --git a/docs/inherit_graph_1.map b/docs/inherit_graph_1.map index 708cddb..e3c80c6 100644 --- a/docs/inherit_graph_1.map +++ b/docs/inherit_graph_1.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_1.md5 b/docs/inherit_graph_1.md5 index a67f181..1ed61ff 100644 --- a/docs/inherit_graph_1.md5 +++ b/docs/inherit_graph_1.md5 @@ -1 +1 @@ -5e0f9c6e02f4985fa69edc664b35f6b8 \ No newline at end of file +2e1f40bb3363263163a6b12dfa8b0ca7 \ No newline at end of file diff --git a/docs/inherit_graph_1.png b/docs/inherit_graph_1.png index c60ec67..78d6ab7 100644 Binary files a/docs/inherit_graph_1.png and b/docs/inherit_graph_1.png differ diff --git a/docs/inherit_graph_10.map b/docs/inherit_graph_10.map index 2c55b19..dda46e4 100644 --- a/docs/inherit_graph_10.map +++ b/docs/inherit_graph_10.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_10.md5 b/docs/inherit_graph_10.md5 index 21e5c1e..adceb18 100644 --- a/docs/inherit_graph_10.md5 +++ b/docs/inherit_graph_10.md5 @@ -1 +1 @@ -097584a903e1f373de2896689b425a6e \ No newline at end of file +d8c19575d1ff948f606457d75b1bcbc4 \ No newline at end of file diff --git a/docs/inherit_graph_10.png b/docs/inherit_graph_10.png index c953bdb..a8a69cb 100644 Binary files a/docs/inherit_graph_10.png and b/docs/inherit_graph_10.png differ diff --git a/docs/inherit_graph_11.map b/docs/inherit_graph_11.map index 3c30f35..9e6e716 100644 --- a/docs/inherit_graph_11.map +++ b/docs/inherit_graph_11.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_11.md5 b/docs/inherit_graph_11.md5 index a3c8c1b..5fa4dd5 100644 --- a/docs/inherit_graph_11.md5 +++ b/docs/inherit_graph_11.md5 @@ -1 +1 @@ -a92b501591d64d4e3d13dde93c02d555 \ No newline at end of file +bcd81928550ae159a88f2e5811b23a04 \ No newline at end of file diff --git a/docs/inherit_graph_11.png b/docs/inherit_graph_11.png index 8fa3143..88cc2ec 100644 Binary files a/docs/inherit_graph_11.png and b/docs/inherit_graph_11.png differ diff --git a/docs/inherit_graph_12.map b/docs/inherit_graph_12.map index b5b363b..ce0f8f8 100644 --- a/docs/inherit_graph_12.map +++ b/docs/inherit_graph_12.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_12.md5 b/docs/inherit_graph_12.md5 index 44ed4fb..55f8997 100644 --- a/docs/inherit_graph_12.md5 +++ b/docs/inherit_graph_12.md5 @@ -1 +1 @@ -e0510917645712db03cd1eedb5e635fe \ No newline at end of file +779b00fa9bd0a74c6cf873df366e5bfb \ No newline at end of file diff --git a/docs/inherit_graph_12.png b/docs/inherit_graph_12.png index a187b9e..9f85624 100644 Binary files a/docs/inherit_graph_12.png and b/docs/inherit_graph_12.png differ diff --git a/docs/inherit_graph_13.map b/docs/inherit_graph_13.map index 0b7b0f6..66f777b 100644 --- a/docs/inherit_graph_13.map +++ b/docs/inherit_graph_13.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_13.md5 b/docs/inherit_graph_13.md5 index 9f48105..ec99f89 100644 --- a/docs/inherit_graph_13.md5 +++ b/docs/inherit_graph_13.md5 @@ -1 +1 @@ -219a7ede12bbe81f5d241ee5145dc1a2 \ No newline at end of file +f58919669803766a5acf5186ddd2b5a6 \ No newline at end of file diff --git a/docs/inherit_graph_13.png b/docs/inherit_graph_13.png index 14d0f65..daeb6f6 100644 Binary files a/docs/inherit_graph_13.png and b/docs/inherit_graph_13.png differ diff --git a/docs/inherit_graph_14.map b/docs/inherit_graph_14.map index 1d3e863..8031376 100644 --- a/docs/inherit_graph_14.map +++ b/docs/inherit_graph_14.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_14.md5 b/docs/inherit_graph_14.md5 index bea6655..b80f500 100644 --- a/docs/inherit_graph_14.md5 +++ b/docs/inherit_graph_14.md5 @@ -1 +1 @@ -071e61694046a8801636fe2c9d96109d \ No newline at end of file +75fe61235c3a5ab455b874814379ec5b \ No newline at end of file diff --git a/docs/inherit_graph_14.png b/docs/inherit_graph_14.png index c1ea66a..748b556 100644 Binary files a/docs/inherit_graph_14.png and b/docs/inherit_graph_14.png differ diff --git a/docs/inherit_graph_15.map b/docs/inherit_graph_15.map index ea1b75d..eb9d07e 100644 --- a/docs/inherit_graph_15.map +++ b/docs/inherit_graph_15.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_15.md5 b/docs/inherit_graph_15.md5 index 403a4dc..7a3fbbf 100644 --- a/docs/inherit_graph_15.md5 +++ b/docs/inherit_graph_15.md5 @@ -1 +1 @@ -07f6bd13b5ff4dc4acc24079b10a03f7 \ No newline at end of file +a358b024bea99cdaad8f6af9ab565350 \ No newline at end of file diff --git a/docs/inherit_graph_15.png b/docs/inherit_graph_15.png index 8a6ae11..755db66 100644 Binary files a/docs/inherit_graph_15.png and b/docs/inherit_graph_15.png differ diff --git a/docs/inherit_graph_16.map b/docs/inherit_graph_16.map index 0fca128..e1c31cc 100644 --- a/docs/inherit_graph_16.map +++ b/docs/inherit_graph_16.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_16.md5 b/docs/inherit_graph_16.md5 index cf0320f..e2932e3 100644 --- a/docs/inherit_graph_16.md5 +++ b/docs/inherit_graph_16.md5 @@ -1 +1 @@ -701ce3c8071a0db532a86abe4c463c4d \ No newline at end of file +78a17615e9bc8991b79eb5e5dbca4731 \ No newline at end of file diff --git a/docs/inherit_graph_16.png b/docs/inherit_graph_16.png index 800e46e..0433eef 100644 Binary files a/docs/inherit_graph_16.png and b/docs/inherit_graph_16.png differ diff --git a/docs/inherit_graph_17.map b/docs/inherit_graph_17.map index 16502a7..cdf0073 100644 --- a/docs/inherit_graph_17.map +++ b/docs/inherit_graph_17.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_17.md5 b/docs/inherit_graph_17.md5 index e2b88f6..5d6c17f 100644 --- a/docs/inherit_graph_17.md5 +++ b/docs/inherit_graph_17.md5 @@ -1 +1 @@ -e56922f3d2b5208ac886588f13d98c72 \ No newline at end of file +16acf8ca9d7d9f5ee2ab92584cd8274c \ No newline at end of file diff --git a/docs/inherit_graph_17.png b/docs/inherit_graph_17.png index c41f8c3..af0eba0 100644 Binary files a/docs/inherit_graph_17.png and b/docs/inherit_graph_17.png differ diff --git a/docs/inherit_graph_18.map b/docs/inherit_graph_18.map index 02f8188..8caa0c0 100644 --- a/docs/inherit_graph_18.map +++ b/docs/inherit_graph_18.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_18.md5 b/docs/inherit_graph_18.md5 index 1436d4a..6dd4090 100644 --- a/docs/inherit_graph_18.md5 +++ b/docs/inherit_graph_18.md5 @@ -1 +1 @@ -9e39a868edc1ac325e09c98639b913e8 \ No newline at end of file +8dda3476a30beda6297ffc063d32abe3 \ No newline at end of file diff --git a/docs/inherit_graph_18.png b/docs/inherit_graph_18.png index d6d1c17..a11ea10 100644 Binary files a/docs/inherit_graph_18.png and b/docs/inherit_graph_18.png differ diff --git a/docs/inherit_graph_19.map b/docs/inherit_graph_19.map index 1d17067..69845b4 100644 --- a/docs/inherit_graph_19.map +++ b/docs/inherit_graph_19.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_19.md5 b/docs/inherit_graph_19.md5 index 935dc1f..8ee1da2 100644 --- a/docs/inherit_graph_19.md5 +++ b/docs/inherit_graph_19.md5 @@ -1 +1 @@ -f8ba803295059b389518470bf6074dfb \ No newline at end of file +ccbea333567c6c01f14f69c9b91ff059 \ No newline at end of file diff --git a/docs/inherit_graph_19.png b/docs/inherit_graph_19.png index 967ebb1..400c905 100644 Binary files a/docs/inherit_graph_19.png and b/docs/inherit_graph_19.png differ diff --git a/docs/inherit_graph_2.map b/docs/inherit_graph_2.map index 0bb7ed5..decd85c 100644 --- a/docs/inherit_graph_2.map +++ b/docs/inherit_graph_2.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_2.md5 b/docs/inherit_graph_2.md5 index 002bc19..13ca83b 100644 --- a/docs/inherit_graph_2.md5 +++ b/docs/inherit_graph_2.md5 @@ -1 +1 @@ -fa4d23f06c860b84a4260c815f89a2e7 \ No newline at end of file +e4983cdece2d6b691795761ddd62464d \ No newline at end of file diff --git a/docs/inherit_graph_2.png b/docs/inherit_graph_2.png index 5dc83b9..6d2aa49 100644 Binary files a/docs/inherit_graph_2.png and b/docs/inherit_graph_2.png differ diff --git a/docs/inherit_graph_20.map b/docs/inherit_graph_20.map index 7d7d989..3671b84 100644 --- a/docs/inherit_graph_20.map +++ b/docs/inherit_graph_20.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_20.md5 b/docs/inherit_graph_20.md5 index e6c252a..8f4334a 100644 --- a/docs/inherit_graph_20.md5 +++ b/docs/inherit_graph_20.md5 @@ -1 +1 @@ -b0535a940f9b972af03a6c03421c80bc \ No newline at end of file +82be683757e2e0fde22cce77b025b04c \ No newline at end of file diff --git a/docs/inherit_graph_20.png b/docs/inherit_graph_20.png index f5e0ebf..17253d5 100644 Binary files a/docs/inherit_graph_20.png and b/docs/inherit_graph_20.png differ diff --git a/docs/inherit_graph_21.map b/docs/inherit_graph_21.map index 322c515..b742e3a 100644 --- a/docs/inherit_graph_21.map +++ b/docs/inherit_graph_21.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_21.md5 b/docs/inherit_graph_21.md5 index 7fef692..e5766b8 100644 --- a/docs/inherit_graph_21.md5 +++ b/docs/inherit_graph_21.md5 @@ -1 +1 @@ -a20990d02cf3f507981abfbe28f4479b \ No newline at end of file +e145ccf205c591db28f1a2bae3eb8cee \ No newline at end of file diff --git a/docs/inherit_graph_21.png b/docs/inherit_graph_21.png index 1b71dbd..a420962 100644 Binary files a/docs/inherit_graph_21.png and b/docs/inherit_graph_21.png differ diff --git a/docs/inherit_graph_22.map b/docs/inherit_graph_22.map index f251eeb..6da6201 100644 --- a/docs/inherit_graph_22.map +++ b/docs/inherit_graph_22.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_22.md5 b/docs/inherit_graph_22.md5 index 3aca8ba..fd9bacf 100644 --- a/docs/inherit_graph_22.md5 +++ b/docs/inherit_graph_22.md5 @@ -1 +1 @@ -dc7b2c026dd29f15c93e77eacdbce937 \ No newline at end of file +386bc905bc48ef25a9be64426b9f77ce \ No newline at end of file diff --git a/docs/inherit_graph_22.png b/docs/inherit_graph_22.png index 8a838aa..992416e 100644 Binary files a/docs/inherit_graph_22.png and b/docs/inherit_graph_22.png differ diff --git a/docs/inherit_graph_23.map b/docs/inherit_graph_23.map index c8528c8..12ebf53 100644 --- a/docs/inherit_graph_23.map +++ b/docs/inherit_graph_23.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_23.md5 b/docs/inherit_graph_23.md5 index a809120..5ae77cc 100644 --- a/docs/inherit_graph_23.md5 +++ b/docs/inherit_graph_23.md5 @@ -1 +1 @@ -61b046629e30ee985799df347e8f3e0e \ No newline at end of file +a6c31486b00eba65f0728df0e21899a2 \ No newline at end of file diff --git a/docs/inherit_graph_23.png b/docs/inherit_graph_23.png index bb1e6ea..dcc75a5 100644 Binary files a/docs/inherit_graph_23.png and b/docs/inherit_graph_23.png differ diff --git a/docs/inherit_graph_24.map b/docs/inherit_graph_24.map index 71bd024..d52661a 100644 --- a/docs/inherit_graph_24.map +++ b/docs/inherit_graph_24.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_24.md5 b/docs/inherit_graph_24.md5 index 41e7a95..ee35691 100644 --- a/docs/inherit_graph_24.md5 +++ b/docs/inherit_graph_24.md5 @@ -1 +1 @@ -fecb9c5ba3d5425724a5126c49c9f8a2 \ No newline at end of file +8e0b31c3f1a0b3341693dadeaaf9f60a \ No newline at end of file diff --git a/docs/inherit_graph_24.png b/docs/inherit_graph_24.png index 8a951ec..d1b54f3 100644 Binary files a/docs/inherit_graph_24.png and b/docs/inherit_graph_24.png differ diff --git a/docs/inherit_graph_25.map b/docs/inherit_graph_25.map index 28ccdfe..1589a60 100644 --- a/docs/inherit_graph_25.map +++ b/docs/inherit_graph_25.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_25.md5 b/docs/inherit_graph_25.md5 index 9a82654..76e3e4d 100644 --- a/docs/inherit_graph_25.md5 +++ b/docs/inherit_graph_25.md5 @@ -1 +1 @@ -a34560f987989a447b41f73ee39cb038 \ No newline at end of file +79e380d8132ca406ccea8e749b0464e8 \ No newline at end of file diff --git a/docs/inherit_graph_25.png b/docs/inherit_graph_25.png index 387fbdc..c875efa 100644 Binary files a/docs/inherit_graph_25.png and b/docs/inherit_graph_25.png differ diff --git a/docs/inherit_graph_26.map b/docs/inherit_graph_26.map index 21700cd..1157dd8 100644 --- a/docs/inherit_graph_26.map +++ b/docs/inherit_graph_26.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_26.md5 b/docs/inherit_graph_26.md5 index 7cdcfb2..0e64a5e 100644 --- a/docs/inherit_graph_26.md5 +++ b/docs/inherit_graph_26.md5 @@ -1 +1 @@ -058172ecc59cab4d6d439c5b8c8f0039 \ No newline at end of file +02c8ad7c701e7dab61c6801328822177 \ No newline at end of file diff --git a/docs/inherit_graph_26.png b/docs/inherit_graph_26.png index 8ad7d10..bcce486 100644 Binary files a/docs/inherit_graph_26.png and b/docs/inherit_graph_26.png differ diff --git a/docs/inherit_graph_27.map b/docs/inherit_graph_27.map index d5793d3..b7a0c43 100644 --- a/docs/inherit_graph_27.map +++ b/docs/inherit_graph_27.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_27.md5 b/docs/inherit_graph_27.md5 index 1b08bd6..139afc6 100644 --- a/docs/inherit_graph_27.md5 +++ b/docs/inherit_graph_27.md5 @@ -1 +1 @@ -90a542863d137792d02ac7d76c8de92d \ No newline at end of file +bc048ffb8945894b61be872f36d4d539 \ No newline at end of file diff --git a/docs/inherit_graph_27.png b/docs/inherit_graph_27.png index c16e7d1..839df68 100644 Binary files a/docs/inherit_graph_27.png and b/docs/inherit_graph_27.png differ diff --git a/docs/inherit_graph_3.map b/docs/inherit_graph_3.map index 9a7ac4a..92d6762 100644 --- a/docs/inherit_graph_3.map +++ b/docs/inherit_graph_3.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_3.md5 b/docs/inherit_graph_3.md5 index 9e4a783..487b5db 100644 --- a/docs/inherit_graph_3.md5 +++ b/docs/inherit_graph_3.md5 @@ -1 +1 @@ -00ac09e4f48effceb0e5d33f4d1a5f11 \ No newline at end of file +1d43b892d2d8b3176c3d01d8c0246bf1 \ No newline at end of file diff --git a/docs/inherit_graph_3.png b/docs/inherit_graph_3.png index d39722e..fc8ec57 100644 Binary files a/docs/inherit_graph_3.png and b/docs/inherit_graph_3.png differ diff --git a/docs/inherit_graph_4.map b/docs/inherit_graph_4.map index 63d34be..6c7a2c8 100644 --- a/docs/inherit_graph_4.map +++ b/docs/inherit_graph_4.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_4.md5 b/docs/inherit_graph_4.md5 index 808d22c..13bf140 100644 --- a/docs/inherit_graph_4.md5 +++ b/docs/inherit_graph_4.md5 @@ -1 +1 @@ -c50938a4c1c6868367837d6fe13bb0a0 \ No newline at end of file +20fd388118352bf952e6ea42ac590077 \ No newline at end of file diff --git a/docs/inherit_graph_4.png b/docs/inherit_graph_4.png index fcf3446..cf3842e 100644 Binary files a/docs/inherit_graph_4.png and b/docs/inherit_graph_4.png differ diff --git a/docs/inherit_graph_5.map b/docs/inherit_graph_5.map index c90c273..e3c7558 100644 --- a/docs/inherit_graph_5.map +++ b/docs/inherit_graph_5.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_5.md5 b/docs/inherit_graph_5.md5 index 9ff9516..422023f 100644 --- a/docs/inherit_graph_5.md5 +++ b/docs/inherit_graph_5.md5 @@ -1 +1 @@ -7d990cd673cd87f9c03229dfc1d8fc57 \ No newline at end of file +1cccf59fcd96489a1ad2c3edb91229fb \ No newline at end of file diff --git a/docs/inherit_graph_5.png b/docs/inherit_graph_5.png index bf9d303..728a0ce 100644 Binary files a/docs/inherit_graph_5.png and b/docs/inherit_graph_5.png differ diff --git a/docs/inherit_graph_6.map b/docs/inherit_graph_6.map index d250c2e..e3d8a9a 100644 --- a/docs/inherit_graph_6.map +++ b/docs/inherit_graph_6.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_6.md5 b/docs/inherit_graph_6.md5 index 55a5115..12fb54c 100644 --- a/docs/inherit_graph_6.md5 +++ b/docs/inherit_graph_6.md5 @@ -1 +1 @@ -6276f12a2d68e1ca206c84dba62ec223 \ No newline at end of file +c1e1b1ed068ec629861311442ec7708c \ No newline at end of file diff --git a/docs/inherit_graph_6.png b/docs/inherit_graph_6.png index 7ab7c2e..417ef32 100644 Binary files a/docs/inherit_graph_6.png and b/docs/inherit_graph_6.png differ diff --git a/docs/inherit_graph_7.map b/docs/inherit_graph_7.map index bbe5013..60d15a9 100644 --- a/docs/inherit_graph_7.map +++ b/docs/inherit_graph_7.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_7.md5 b/docs/inherit_graph_7.md5 index c4700d3..64e363d 100644 --- a/docs/inherit_graph_7.md5 +++ b/docs/inherit_graph_7.md5 @@ -1 +1 @@ -cbacda5af4aefcc61b1fdc5ee24d6e91 \ No newline at end of file +4a1e69ae57e72a272248c69d80b8a271 \ No newline at end of file diff --git a/docs/inherit_graph_7.png b/docs/inherit_graph_7.png index 8f95146..fbb493a 100644 Binary files a/docs/inherit_graph_7.png and b/docs/inherit_graph_7.png differ diff --git a/docs/inherit_graph_8.map b/docs/inherit_graph_8.map index ef40f52..503cc74 100644 --- a/docs/inherit_graph_8.map +++ b/docs/inherit_graph_8.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_8.md5 b/docs/inherit_graph_8.md5 index 130e135..e9ad747 100644 --- a/docs/inherit_graph_8.md5 +++ b/docs/inherit_graph_8.md5 @@ -1 +1 @@ -5cba821b2e25837e7cc09e36ed19471f \ No newline at end of file +68030e9b530bae97698bee7f96df9f98 \ No newline at end of file diff --git a/docs/inherit_graph_8.png b/docs/inherit_graph_8.png index 8e502f4..a57f1a4 100644 Binary files a/docs/inherit_graph_8.png and b/docs/inherit_graph_8.png differ diff --git a/docs/inherit_graph_9.map b/docs/inherit_graph_9.map index d034be9..6b2cb7e 100644 --- a/docs/inherit_graph_9.map +++ b/docs/inherit_graph_9.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_9.md5 b/docs/inherit_graph_9.md5 index 0318c62..fb46520 100644 --- a/docs/inherit_graph_9.md5 +++ b/docs/inherit_graph_9.md5 @@ -1 +1 @@ -7af2076992cb5ce99f4e7887b1303fc7 \ No newline at end of file +3af45897891386250a4c4b19fa1e50a9 \ No newline at end of file diff --git a/docs/inherit_graph_9.png b/docs/inherit_graph_9.png index 06d7d0a..874e240 100644 Binary files a/docs/inherit_graph_9.png and b/docs/inherit_graph_9.png differ diff --git a/docs/inherits.html b/docs/inherits.html index 989174c..c11c662 100644 --- a/docs/inherits.html +++ b/docs/inherits.html @@ -1,9 +1,9 @@ - + - - + + SinricPro Library: Class Hierarchy @@ -23,8 +23,8 @@
    - - + @@ -33,21 +33,22 @@
    +
    SinricPro Library
    - + +/* @license-end */ +

    @@ -61,7 +62,7 @@
    @@ -75,14 +76,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Class Hierarchy
    +
    Class Hierarchy
    @@ -90,227 +97,302 @@
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    @@ -319,7 +401,7 @@ diff --git a/docs/jquery.js b/docs/jquery.js index 103c32d..1dffb65 100644 --- a/docs/jquery.js +++ b/docs/jquery.js @@ -1,12 +1,11 @@ -/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
    ",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
    ",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
    "),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
    ").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("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",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(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{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"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
    "),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
    "),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element -},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,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}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** +!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(y){"use strict";y.ui=y.ui||{};y.ui.version="1.13.2";var n,i=0,h=Array.prototype.hasOwnProperty,a=Array.prototype.slice;y.cleanData=(n=y.cleanData,function(t){for(var e,i,s=0;null!=(i=t[s]);s++)(e=y._data(i,"events"))&&e.remove&&y(i).triggerHandler("remove");n(t)}),y.widget=function(t,i,e){var s,n,o,h={},a=t.split(".")[0],r=a+"-"+(t=t.split(".")[1]);return e||(e=i,i=y.Widget),Array.isArray(e)&&(e=y.extend.apply(null,[{}].concat(e))),y.expr.pseudos[r.toLowerCase()]=function(t){return!!y.data(t,r)},y[a]=y[a]||{},s=y[a][t],n=y[a][t]=function(t,e){if(!this||!this._createWidget)return new n(t,e);arguments.length&&this._createWidget(t,e)},y.extend(n,s,{version:e.version,_proto:y.extend({},e),_childConstructors:[]}),(o=new i).options=y.widget.extend({},o.options),y.each(e,function(e,s){function n(){return i.prototype[e].apply(this,arguments)}function o(t){return i.prototype[e].apply(this,t)}h[e]="function"==typeof s?function(){var t,e=this._super,i=this._superApply;return this._super=n,this._superApply=o,t=s.apply(this,arguments),this._super=e,this._superApply=i,t}:s}),n.prototype=y.widget.extend(o,{widgetEventPrefix:s&&o.widgetEventPrefix||t},h,{constructor:n,namespace:a,widgetName:t,widgetFullName:r}),s?(y.each(s._childConstructors,function(t,e){var i=e.prototype;y.widget(i.namespace+"."+i.widgetName,n,e._proto)}),delete s._childConstructors):i._childConstructors.push(n),y.widget.bridge(t,n),n},y.widget.extend=function(t){for(var e,i,s=a.call(arguments,1),n=0,o=s.length;n",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=y(e||this.defaultElement||this)[0],this.element=y(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=y(),this.hoverable=y(),this.focusable=y(),this.classesElementLookup={},e!==this&&(y.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=y(e.style?e.ownerDocument:e.document||e),this.window=y(this.document[0].defaultView||this.document[0].parentWindow)),this.options=y.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:y.noop,_create:y.noop,_init:y.noop,destroy:function(){var i=this;this._destroy(),y.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:y.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return y.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=y.widget.extend({},this.options[t]),n=0;n
    "),i=e.children()[0];return y("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(D(s),D(n))?o.important="horizontal":o.important="vertical",p.using.call(this,t,o)}),h.offset(y.extend(l,{using:t}))})},y.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,h=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),y.ui.plugin={add:function(t,e,i){var s,n=y.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n
    ").css({overflow:"hidden",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("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",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(t),this._proportionallyResize()),this._setupHandles(),e.autoHide&&y(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){y(t).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,h=this;if(this.handles=o.handles||(y(".ui-resizable-handle",this.element).length?{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"}:"e,s,se"),this._handles=y(),this._addedHandles=y(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split(","),this.handles={},e=0;e"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=y(this.handles[e]),this._on(this.handles[e],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(i=y(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?i.outerHeight():i.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add(this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=y(this.handles[e])[0])!==t.target&&!y.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),s.containment&&(e+=y(s.containment).scrollLeft()||0,i+=y(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=y(".ui-resizable-"+this.axis).css("cursor"),y("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(e=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),e=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),y.isEmptyObject(e)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(s=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,i=e?0:o.sizeDiff.width,e={width:o.helper.width()-i,height:o.helper.height()-s},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(y.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper&&!n.animate&&this._proportionallyResize()),y("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s=this.options,n={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0};(this._aspectRatio||t)&&(e=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,s=n.maxHeight*this.aspectRatio,t=n.maxWidth/this.aspectRatio,e>n.minWidth&&(n.minWidth=e),i>n.minHeight&&(n.minHeight=i),st.width,h=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,r=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),h&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=a-e.minWidth),s&&l&&(t.left=a-e.maxWidth),h&&i&&(t.top=r-e.minHeight),n&&i&&(t.top=r-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e
    ").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){y.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,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}}}),y.ui.plugin.add("resizable","animate",{stop:function(e){var i=y(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=n?0:i.sizeDiff.width,n={width:i.size.width-h,height:i.size.height-o},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(y.extend(n,o&&h?{top:o,left:h}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&y(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),y.ui.plugin.add("resizable","containment",{start:function(){var i,s,n=y(this).resizable("instance"),t=n.options,e=n.element,o=t.containment,h=o instanceof y?o.get(0):/parent/.test(o)?e.parent().get(0):o;h&&(n.containerElement=y(h),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:y(document),left:0,top:0,width:y(document).width(),height:y(document).height()||document.body.parentNode.scrollHeight}):(i=y(h),s=[],y(["Top","Right","Left","Bottom"]).each(function(t,e){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},t=n.containerOffset,e=n.containerSize.height,o=n.containerSize.width,o=n._hasScroll(h,"left")?h.scrollWidth:o,e=n._hasScroll(h)?h.scrollHeight:e,n.parentData={element:h,left:t.left,top:t.top,width:o,height:e}))},resize:function(t){var e=y(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,o=e._aspectRatio||t.shiftKey,h={top:0,left:0},a=e.containerElement,t=!0;a[0]!==document&&/static/.test(a.css("position"))&&(h=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-h.left),o&&(e.size.height=e.size.width/e.aspectRatio,t=!1),e.position.left=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),o&&(e.size.width=e.size.height*e.aspectRatio,t=!1),e.position.top=e._helper?s.top:0),i=e.containerElement.get(0)===e.element.parent().get(0),n=/relative|absolute/.test(e.containerElement.css("position")),i&&n?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-h.left:e.offset.left-s.left)),s=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-h.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,o&&(e.size.height=e.size.width/e.aspectRatio,t=!1)),s+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-s,o&&(e.size.width=e.size.height*e.aspectRatio,t=!1)),t||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=y(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=y(t.helper),h=o.offset(),a=o.outerWidth()-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o})}}),y.ui.plugin.add("resizable","alsoResize",{start:function(){var t=y(this).resizable("instance").options;y(t.alsoResize).each(function(){var t=y(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=y(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,h={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};y(s.alsoResize).each(function(){var t=y(this),s=y(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];y.each(e,function(t,e){var i=(s[e]||0)+(h[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){y(this).removeData("ui-resizable-alsoresize")}}),y.ui.plugin.add("resizable","ghost",{start:function(){var t=y(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==y.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=y(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=y(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),y.ui.plugin.add("resizable","grid",{resize:function(){var t,e=y(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,h=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,r=a[0]||1,l=a[1]||1,u=Math.round((s.width-n.width)/r)*r,p=Math.round((s.height-n.height)/l)*l,d=n.width+u,c=n.height+p,f=i.maxWidth&&i.maxWidthd,s=i.minHeight&&i.minHeight>c;i.grid=a,m&&(d+=r),s&&(c+=l),f&&(d-=r),g&&(c-=l),/^(se|s|e)$/.test(h)?(e.size.width=d,e.size.height=c):/^(ne)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.top=o.top-p):/^(sw)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.left=o.left-u):((c-l<=0||d-r<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0'+ + var url; + var link; + link = data.children[i].url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + } else { + url = relPath+link; + } + result+='
  • '+ data.children[i].text+''+ makeTree(data.children[i],relPath)+'
  • '; } @@ -36,15 +44,92 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { } return result; } - - $('#main-nav').append(makeTree(menudata,relPath)); - $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + var searchBoxHtml; if (searchEnabled) { if (serverSide) { - $('#main-menu').append('
  • '); + searchBoxHtml='
    '+ + '
    '+ + '
     '+ + ''+ + '
    '+ + '
    '+ + '
    '+ + '
    '; } else { - $('#main-menu').append('
  • '); + searchBoxHtml='
    '+ + ''+ + ' '+ + ''+ + ''+ + ''+ + ''+ + ''+ + '
    '; + } + } + + $('#main-nav').before('
    '+ + ''+ + ''+ + '
    '); + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchBoxHtml) { + $('#main-menu').append('
  • '); + } + var $mainMenuState = $('#main-menu-state'); + var prevWidth = 0; + if ($mainMenuState.length) { + function initResizableIfExists() { + if (typeof initResizable==='function') initResizable(); + } + // animate mobile menu + $mainMenuState.change(function(e) { + var $menu = $('#main-menu'); + var options = { duration: 250, step: initResizableIfExists }; + if (this.checked) { + options['complete'] = function() { $menu.css('display', 'block') }; + $menu.hide().slideDown(options); + } else { + options['complete'] = function() { $menu.css('display', 'none') }; + $menu.show().slideUp(options); + } + }); + // set default menu visibility + function resetState() { + var $menu = $('#main-menu'); + var $mainMenuState = $('#main-menu-state'); + var newWidth = $(window).outerWidth(); + if (newWidth!=prevWidth) { + if ($(window).outerWidth()<768) { + $mainMenuState.prop('checked',false); $menu.hide(); + $('#searchBoxPos1').html(searchBoxHtml); + $('#searchBoxPos2').hide(); + } else { + $menu.show(); + $('#searchBoxPos1').empty(); + $('#searchBoxPos2').html(searchBoxHtml); + $('#searchBoxPos2').show(); + } + if (typeof searchBox!=='undefined') { + searchBox.CloseResultsWindow(); + } + prevWidth = newWidth; + } } + $(window).ready(function() { resetState(); initResizableIfExists(); }); + $(window).resize(resetState); } $('#main-menu').smartmenus(); } diff --git a/docs/menudata.js b/docs/menudata.js index 078fd5b..b93e23b 100644 --- a/docs/menudata.js +++ b/docs/menudata.js @@ -24,7 +24,7 @@ */ var menudata={children:[ {text:"Main Page",url:"index.html"}, -{text:"Modules",url:"modules.html"}, +{text:"Topics",url:"topics.html"}, {text:"Classes",url:"annotated.html",children:[ {text:"Class List",url:"annotated.html"}, {text:"Class Index",url:"classes.html"}, diff --git a/docs/minus.svg b/docs/minus.svg new file mode 100644 index 0000000..f70d0c1 --- /dev/null +++ b/docs/minus.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/minusd.svg b/docs/minusd.svg new file mode 100644 index 0000000..5f8e879 --- /dev/null +++ b/docs/minusd.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/namespace_s_i_n_r_i_c_p_r_o__3__0__0.html b/docs/namespace_s_i_n_r_i_c_p_r_o__3__0__0.html new file mode 100644 index 0000000..b43a323 --- /dev/null +++ b/docs/namespace_s_i_n_r_i_c_p_r_o__3__0__0.html @@ -0,0 +1,1997 @@ + + + + + + + +SinricPro Library: SINRICPRO_3_0_0 Namespace Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    SinricPro Library +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    SINRICPRO_3_0_0 Namespace Reference
    +
    +
    + +

    SinricPro namespace. +More...

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

    +Classes

    class  AirQualitySensor
     AirQuality. More...
     
    class  BrightnessController
     BrightnessController. More...
     
    class  ChannelController
     ChannelController. More...
     
    class  ColorController
     ColorController. More...
     
    class  ColorTemperatureController
     ColorTemperatureController. More...
     
    class  ContactSensor
     ContactSensor. More...
     
    class  Doorbell
     Dorbell. More...
     
    class  DoorController
     DoorController - only used for GarageDoor device and cannot used as capability for a custom device! More...
     
    class  EqualizerController
     EqualizerController. More...
     
    class  InputController
     InputController. More...
     
    class  KeypadController
     KeypadController. More...
     
    class  LockController
     LockController. More...
     
    class  MediaController
     MediaController. More...
     
    class  ModeController
     ModeController. More...
     
    class  MotionSensor
     MotionSensor. More...
     
    class  MuteController
     MuteController. More...
     
    class  PercentageController
     PercentageController. More...
     
    class  PowerLevelController
     PowerLevelController. More...
     
    class  PowerSensor
     PowerSensor. More...
     
    class  PowerStateController
     PowerStateController. More...
     
    class  PushNotification
     PushNotification. More...
     
    class  RangeController
     RangeControllerFloatInt. More...
     
    class  SinricProAirQualitySensor
     Device to report air quality events. More...
     
    class  SinricProBlinds
     Device to control interior blinds. More...
     
    class  SinricProCamera
     Camera suporting basic on / off command. More...
     
    class  SinricProClass
     The main class of this library, handling communication between SinricPro Server and your devices. More...
     
    class  SinricProContactsensor
     Device to report contact sensor events. More...
     
    class  SinricProDevice
     Base class for all device types. More...
     
    class  SinricProDimSwitch
     Device which supports on / off and dimming commands. More...
     
    class  SinricProDoorbell
     Device to report doorbell events. More...
     
    class  SinricProFan
     Device to turn on / off a fan and change it's speed by using powerlevel. More...
     
    class  SinricProFanUS
     Device to control a fan with on / off commands and its speed by a range value. More...
     
    class  SinricProGarageDoor
     Device to control a garage door. More...
     
    class  SinricProLight
     Device to control a light. More...
     
    class  SinricProLock
     Device to control a smart lock. More...
     
    class  SinricProMotionsensor
     Device to report motion detection events. More...
     
    class  SinricProPowerSensor
     Device to report power usage. More...
     
    class  SinricProSpeaker
     Device to control a smart speaker. More...
     
    class  SinricProSwitch
     Device suporting basic on / off command. More...
     
    class  SinricProTemperaturesensor
     Device to report actual temperature and humidity. More...
     
    class  SinricProThermostat
     Device to control Thermostat. More...
     
    class  SinricProTV
     Device to control a TV. More...
     
    class  SinricProWindowAC
     Device to control Window Air Conditioner. More...
     
    class  TemperatureSensor
     TemperatureSensor. More...
     
    class  ThermostatController
     ThermostatController. More...
     
    class  ToggleController
     ToggleController. More...
     
    class  VolumeController
     VolumeController. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Typedefs

    using ConnectedCallbackHandler = std::function< void(void)>
     Callback definition for onConnected function.
     
    using DisconnectedCallbackHandler = std::function< void(void)>
     Callback definition for onDisconnected function.
     
    using BrightnessCallback = std::function< bool(const String &, int &)>
     Callback definition for onBrightness function.
     
    using AdjustBrightnessCallback = std::function< bool(const String &, int &)>
     Callback definition for onAdjustBrightness function.
     
    using ChangeChannelCallback = std::function< bool(const String &, String &)>
     Callback definition for onChangeChannel function.
     
    using ChangeChannelNumberCallback = std::function< bool(const String &, int, String &)>
     Callback definition for onChangeChannelNumber function.
     
    using SkipChannelsCallback = std::function< bool(const String &, int, String &)>
     Callback definition for onSkipChannels function.
     
    using ColorCallback = std::function< bool(const String &, byte &, byte &, byte &)>
     Callback definition for onColor function.
     
    using ColorTemperatureCallback = std::function< bool(const String &, int &)>
     Callback definition for onColorTemperature function.
     
    using IncreaseColorTemperatureCallback = std::function< bool(const String &, int &)>
     Callback definition for onIncreaseColorTemperature function.
     
    using DecreaseColorTemperatureCallback = std::function< bool(const String &, int &)>
     Callback definition for onDecreaseColorTemperature function.
     
    using DoorCallback = std::function< bool(const String &, bool &)>
     Callback definition for onDoorState function.
     
    using SetBandsCallback = std::function< bool(const String &, const String &, int &)>
     Callback definition for onSetBands function.
     
    using AdjustBandsCallback = std::function< bool(const String &, const String &, int &)>
     Callback definition for onAdjustBands function.
     
    using ResetBandsCallback = std::function< bool(const String &, const String &, int &)>
     Callback definition for onResetBands function.
     
    using SelectInputCallback = std::function< bool(const String &, String &)>
     Callback definition for onSelectInput function.
     
    using KeystrokeCallback = std::function< bool(const String &, String &)>
     Callback definition for onKeystroke function.
     
    using LockStateCallback = std::function< bool(const String &, bool &)>
     Callback definition for onLockState function.
     
    using MediaControlCallback = std::function< bool(const String &, String &)>
     Callback definition for onMediaControl function.
     
    using ModeCallback = std::function< bool(const String &, String &)>
     Callback definition for onSetMode function.
     
    using GenericModeCallback = std::function< bool(const String &, const String &, String &)>
     Callback definition for onSetMode function for a specific instance.
     
    using MuteCallback = std::function< bool(const String &, bool &)>
     Callback definition for onMute function.
     
    using SetPercentageCallback = std::function< bool(const String &, int &)>
     Callback definition for onSetPercentage function.
     
    using AdjustPercentageCallback = std::function< bool(const String &, int &)>
     Callback definition for onAdjustPercentage function.
     
    using SetPowerLevelCallback = std::function< bool(const String &, int &)>
     Definition for setPowerLevel callback.
     
    using AdjustPowerLevelCallback = std::function< bool(const String &, int &)>
     Definition for onAdjustPowerLevel callback.
     
    using PowerStateCallback = std::function< bool(const String &, bool &)>
     Callback definition for onPowerState function.
     
    using GenericRangeValueCallback_int = bool(*)(const String &, const String &, int &)
     Callback definition for onRangeValue function.
     
    using GenericSetRangeValueCallback_int = GenericRangeValueCallback_int
     Callback definition for onRangeValue function on a specific instance.
     
    using AdjustRangeValueCallback = bool(*)(const String &, int &)
     Callback definition for onAdjustRangeValue function.
     
    using GenericAdjustRangeValueCallback_int = GenericRangeValueCallback_int
     Callback definition for onAdjustRangeValue function on a specific instance for custom devices.
     
    using ThermostatModeCallback = std::function< bool(const String &, String &)>
     Callback definition for onThermostatMode function.
     
    using SetTargetTemperatureCallback = std::function< bool(const String &, float &)>
     Callback definition for onTargetTemperature function.
     
    using AdjustTargetTemperatureCallback = std::function< bool(const String &, float &)>
     Callback definition for onAdjustTargetTemperature function.
     
    using GenericToggleStateCallback = std::function< bool(const String &, const String &, bool &)>
     Callback definition for onToggleState function.
     
    using SetVolumeCallback = std::function< bool(const String &, int &)>
     Callback definition for onSetVolume function.
     
    using AdjustVolumeCallback = std::function< bool(const String &, int &, bool)>
     Callback definition for onAdjustVolume function.
     
    +

    Detailed Description

    +

    SinricPro namespace.

    +

    Typedef Documentation

    + +

    ◆ AdjustBandsCallback

    + +
    +
    + + + + +
    using AdjustBandsCallback = std::function<bool(const String &, const String &, int &)>
    +
    + +

    Callback definition for onAdjustBands function.

    +

    Gets called when device receive a adjustBands request
    +

    Parameters
    + + + + + + +
    [in]deviceIdString which contains the ID of device
    [in]bandsString with requested bands to change
    + BASS, MIDRANGE, TREBBLE
    [in]levelDeltaInteger with relative level value device should change bands about
    [out]bandsString with changed bands
    + BASS, MIDRANGE, TREBBLE
    [out]levelDeltaInteger value with level bands changed to
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    std::map<String, int> equalizerBands;
    +
    +
    bool onAdjustBands(const String &deviceId, String &bands, int &levelDelta) {
    +
    equalizerBands[bands] += levelDelta; // calculate absolute bands level
    +
    Serial.printf("Device %s bands %s changed about %d to %d\r\n", deviceId.c_str(), bands.c_str(), levelDelta, equalizerBands[bands]);
    +
    levelDelta = equalizerBands[bands]; // return absolute bands level
    +
    return true; // request handled properly
    +
    }
    +
    AirQuality.
    Definition AirQualitySensor.h:19
    +
    +
    +
    + +

    ◆ AdjustBrightnessCallback

    + +
    +
    + + + + +
    using AdjustBrightnessCallback = std::function<bool(const String &, int &)>
    +
    + +

    Callback definition for onAdjustBrightness function.

    +

    Gets called when device receive a adjustBrightness request
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]brightnessRelative integer value the device should change the brightness about
    [out]brightnessAbsolute integer value with new brightness the device is set to
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    +
    +
    bool onAdjustBrightness(const String &deviceId, int &brightnessDelta) {
    +
    absoluteBrightness += brightnessDelta; // calculate absolute brigthness
    +
    Serial.printf("Device %s brightness changed about %i to %d\r\n", deviceId.c_str(), brightnessDelta, absoluteBrightness);
    +
    brightnessDelta = absoluteBrightness; // return absolute brightness
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ AdjustPercentageCallback

    + +
    +
    + + + + +
    using AdjustPercentageCallback = std::function<bool(const String &, int &)>
    +
    + +

    Callback definition for onAdjustPercentage function.

    +

    Gets called when device receive a adjustPercentage request
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]percentageDeltaInteger with relative percentage the device should change about (-100..100)
    [out]percentageDeltaInteger with absolute percentage device has been set to
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    +
    +
    bool onAdjustPercentage(const String &deviceId, int &percentageDelta) {
    +
    absolutePercentage += percentageDelta; // calculate absolute percentage
    +
    Serial.printf("Device %s percentage changed about %i to %d\r\n", deviceId.c_str(), percentageDelta, absolutePercentage);
    +
    percentageDelta = absolutePercentage; // return absolute percentage
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ AdjustPowerLevelCallback

    + +
    +
    + + + + +
    using AdjustPowerLevelCallback = std::function<bool(const String &, int &)>
    +
    + +

    Definition for onAdjustPowerLevel callback.

    +

    Gets called when device receive a adjustPowerLevel reuqest
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]powerLevelinteger -100..100 delta value which power level have to be changed
    [out]powerLevelinteger 0..100 report the absolute powerlevel that the device have been set to
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest can`t be handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    +
    +
    bool onAdjustPowerLevel(const String &deviceId, int &powerDelta) {
    +
    absolutePowerLevel += powerDelta; // calculate absolute power level
    +
    Serial.printf("Device %s brightness changed about %i to %d\r\n", deviceId.c_str(), powerDelta, absolutePowerLevel);
    +
    powerDelta = absolutePowerLevel; // return absolute power level
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ AdjustRangeValueCallback

    + +
    +
    + + + + +
    using AdjustRangeValueCallback = bool (*)(const String &, int &)
    +
    + +

    Callback definition for onAdjustRangeValue function.

    +

    Gets called when device receive a adjustRangeValue reuqest
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]rangeValuedelta value for range value have to change
    [out]rangeValuereturning the absolute range value
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    +
    +
    bool onAdjustRangeValue(const String &deviceId, int &rangeValueDelta) {
    +
    globalRangeValue += rangeValue; // calculate absolute rangeValue
    +
    Serial.printf("Device %s range value has been changed about %i to %d\r\n", deviceId.c_str(), rangeValueDelta, globalRangeValue);
    +
    rangeValueDelta = globalRangeValue; // return absolute rangeValue
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ AdjustTargetTemperatureCallback

    + +
    +
    + + + + +
    using AdjustTargetTemperatureCallback = std::function<bool(const String &, float &)>
    +
    + +

    Callback definition for onAdjustTargetTemperature function.

    +

    Gets called when device receive a adjustTargetTemperature reuqest
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]temperatureFloat relative temperature device should change about
    [out]temperatureFloat absolute temperature device is set to
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    +
    +
    bool onAdjustTargetTemperature(const String &deviceId, float &tempDelta) {
    +
    globalTargetTemp += tempDelta; // change global target temperature about tempDelta
    +
    Serial.printf("Device %s target temperature changed about %f to %f\r\n", deviceId.c_str(), tempDelta, globalTargetTemp);
    +
    tempDelta = globalTargetTemp; // return absolute target temperature
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ AdjustVolumeCallback

    + +
    +
    + + + + +
    using AdjustVolumeCallback = std::function<bool(const String &, int &, bool)>
    +
    + +

    Callback definition for onAdjustVolume function.

    +

    Gets called when device receive a adjustVolume request
    +

    Parameters
    + + + + + +
    [in]deviceIdString which contains the ID of device
    [in]volumeDeltaInteger with relative volume the device should change about (-100..100)
    [out]volumeDeltaInteger with absolute volume device has been set to
    [in]volumeDefaultBool false if the user specified the amount by which to change the volume; otherwise true
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    +
    +
    bool onAdjustVolume(const String &deviceId, int &volumeDelta, bool volumeDefault) {
    +
    absoluteVolume += volumeDelta; // calculate absolute volume
    +
    Serial.printf("Device %s volume changed about %i to %d (default: %s)\r\n", deviceId.c_str(), volumeDelta, absoluteVolume, volumeDefault);
    +
    volumeDelta = absoluteVolume; // return absolute volume
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ BrightnessCallback

    + +
    +
    + + + + +
    using BrightnessCallback = std::function<bool(const String &, int &)>
    +
    + +

    Callback definition for onBrightness function.

    +

    Gets called when device receive a setBrightness request
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]brightnessAbsolute integer value the device should set its brightness to
    [out]brightnessAbsolute integer value with new brightness the device is set to
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onBrightness(const String &deviceId, int &brightness) {
    +
    Serial.printf("Device %s brightness %d\r\n", deviceId.c_str(), brightness);
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ ChangeChannelCallback

    + +
    +
    + + + + +
    using ChangeChannelCallback = std::function<bool(const String &, String &)>
    +
    + +

    Callback definition for onChangeChannel function.

    +

    Gets called when device receive a changeChannel request by using channel name

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]channelString with channel name device is requested to switch to
    [out]channelString with channel name device has switchted to
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    // channelNames used to convert channelNumber into channelName
    +
    // please put in your TV channel names
    +
    // channel numbers starts counting from 0!
    +
    // so "ZDF" is channel 2
    +
    const char* channelNames[] = {
    +
    "A/V",
    +
    "ard",
    +
    "ZDF",
    +
    "n. d. r.",
    +
    "kabel eins",
    +
    "VOX",
    +
    "Sat.1",
    +
    "ProSieben",
    +
    "rtl",
    +
    "RTL II",
    +
    "SUPER RTL",
    +
    "KiKA"
    +
    };
    +
    +
    int tvChannel; // current channel selected
    +
    +
    #define MAX_CHANNELS sizeof(channelNames) / sizeof(channelNames[0]) // just to determine how many channels are in channelNames array
    +
    +
    // map channelNumbers used to convert channelName into channelNumber
    +
    // This map is initialized in "setupChannelNumbers()" function by using the "channelNames" array
    +
    std::map<String, unsigned int> channelNumbers;
    +
    +
    void setupChannelNumbers() {
    +
    for (unsigned int i=0; i < MAX_CHANNELS; i++) {
    +
    channelNumbers[channelNames[i]] = i;
    +
    }
    +
    }
    +
    +
    bool onChangeChannel(const String &deviceId, String &channel) {
    +
    tvChannel = channelNumbers[channel]; // save new channelNumber in tvChannel variable
    +
    Serial.printf("Change channel to \"%s\" (channel number %d)\r\n", channel.c_str(), tvChannel);
    +
    return true;
    +
    }
    +
    +
    +
    + +

    ◆ ChangeChannelNumberCallback

    + +
    +
    + + + + +
    using ChangeChannelNumberCallback = std::function<bool(const String &, int, String &)>
    +
    + +

    Callback definition for onChangeChannelNumber function.

    +

    Gets called when device receive a changeChannel request by using channel number

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]channelNumberInteger with channel number device is requested to switch to
    [out]channelNameString with channel name device has switchted to
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    // channelNames used to convert channelNumber into channelName
    +
    // please put in your TV channel names
    +
    // channel numbers starts counting from 0!
    +
    // so "ZDF" is channel 2
    +
    const char* channelNames[] = {
    +
    "A/V",
    +
    "ard",
    +
    "ZDF",
    +
    "n. d. r.",
    +
    "kabel eins",
    +
    "VOX",
    +
    "Sat.1",
    +
    "ProSieben",
    +
    "rtl",
    +
    "RTL II",
    +
    "SUPER RTL",
    +
    "KiKA"
    +
    };
    +
    +
    int tvChannel; // current channel selected
    +
    +
    #define MAX_CHANNELS sizeof(channelNames) / sizeof(channelNames[0]) // just to determine how many channels are in channelNames array
    +
    +
    // map channelNumbers used to convert channelName into channelNumber
    +
    // This map is initialized in "setupChannelNumbers()" function by using the "channelNames" array
    +
    std::map<String, unsigned int> channelNumbers;
    +
    +
    void setupChannelNumbers() {
    +
    for (unsigned int i=0; i < MAX_CHANNELS; i++) {
    +
    channelNumbers[channelNames[i]] = i;
    +
    }
    +
    }
    +
    +
    bool onChangeChannelNumber(const String& deviceId, int channelNumber, String& channelName) {
    +
    tvChannel = channelNumber; // update tvChannel to new channel number
    +
    if (tvChannel < 0) tvChannel = 0;
    +
    if (tvChannel > MAX_CHANNELS-1) tvChannel = MAX_CHANNELS-1;
    +
    +
    channelName = channelNames[tvChannel]; // return the channelName
    +
    +
    Serial.printf("Change to channel to %d (channel name \"%s\")\r\n", tvChannel, channelName.c_str());
    +
    return true;
    +
    }
    +
    +
    +
    + +

    ◆ ColorCallback

    + +
    +
    + + + + +
    using ColorCallback = std::function<bool(const String &, byte &, byte &, byte &)>
    +
    + +

    Callback definition for onColor function.

    +

    Gets called when device receive a setColor request
    +

    Parameters
    + + + + + + + + +
    [in]deviceIdString which contains the ID of device
    [in]rByte value for red
    [in]gByte value for green
    [in]bByte value for blue
    [out]rByte value for red
    [out]gByte value for green
    [out]bByte value for blue
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onColor(const String &deviceId, byte &r, byte &g, byte &b) {
    +
    Serial.printf("Device %s color is set to red=%d, green=%d, blue=%d\r\n", deviceId.c_str(), r, g, b);
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ ColorTemperatureCallback

    + +
    +
    + + + + +
    using ColorTemperatureCallback = std::function<bool(const String &, int &)>
    +
    + +

    Callback definition for onColorTemperature function.

    +

    Gets called when device receive a setColorTemperature request
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]colorTemperatureInteger value with color temperature the device should set to
    + 2200 = warm white
    + 2700 = soft white
    + 4000 = white
    + 5500 = daylight white
    + 7000 = cool white
    [out]colorTemperatureInteger value with color temperature the device is set to
    + 2200 = warm white
    + 2700 = soft white
    + 4000 = white
    + 5500 = daylight white
    + 7000 = cool white
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onColorTemperature(const String &deviceId, int &colorTemperature) {
    +
    Serial.printf("Device %s colorTemperature is set to %i\r\n", deviceId.c_str(), colorTemperature);
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ ConnectedCallbackHandler

    + +
    +
    + + + + +
    using ConnectedCallbackHandler = std::function<void(void)>
    +
    + +

    Callback definition for onConnected function.

    +

    Gets called when device is connected to SinricPro server

    Parameters
    + + +
    void
    +
    +
    +
    Returns
    void
    + +
    +
    + +

    ◆ DecreaseColorTemperatureCallback

    + +
    +
    + + + + +
    using DecreaseColorTemperatureCallback = std::function<bool(const String &, int &)>
    +
    + +

    Callback definition for onDecreaseColorTemperature function.

    +

    Gets called when device receive a decreaseColorTemperature request
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]colorTemperatureInteger value -1 = Device should decrease color temperature
    [out]colorTemperatureInteger value return the new color temperarature
    + 2200 = warm white
    + 2700 = soft white
    + 4000 = white
    + 5500 = daylight white
    + 7000 = cool white
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    +
    +
    bool onDecreaseColorTemperature(const String &deviceId, int &colorTemperature) {
    +
    globalColorTemperature -= 1000; // decrease globalColorTemperature about 1000;
    +
    Serial.printf("Device %s colorTemperature changed %i\r\n", deviceId.c_str(), colorTemperature);
    +
    colorTemperature = globalColorTemperature; // return new colorTemperature
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ DisconnectedCallbackHandler

    + +
    +
    + + + + +
    using DisconnectedCallbackHandler = std::function<void(void)>
    +
    + +

    Callback definition for onDisconnected function.

    +

    Gets called when device is disconnected from SinricPro server

    Parameters
    + + +
    void
    +
    +
    +
    Returns
    void
    + +
    +
    + +

    ◆ DoorCallback

    + +
    +
    + + + + +
    using DoorCallback = std::function<bool(const String &, bool &)>
    +
    + +

    Callback definition for onDoorState function.

    +

    Gets called when device receive a open or close request
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]doorStatefalse = open, device is requested to open the garage door
    +true = close, device is requested to close the garage door
    [out]doorStatebool with actual state false = open, true = closed
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onDoorState(const String &deviceId, bool &doorState) {
    +
    Serial.printf("Device %s garage door is now %s\r\n", deviceId.c_str(), doorState?"closed":"open");
    +
    return true;
    +
    }
    +
    +
    +
    + +

    ◆ GenericAdjustRangeValueCallback_int

    + +
    +
    + +

    Callback definition for onAdjustRangeValue function on a specific instance for custom devices.

    +

    Gets called when device receive a adjustRangeValue reuqest
    +

    Parameters
    + + + + + +
    [in]deviceIdString which contains the ID of device
    [in]instanceString instance name
    [in]rangeValuedelta value for range value have to change
    [out]rangeValuereturning the absolute range value
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    +
    +
    bool onAdjustRangeValue(const String &deviceId, const String& instance, int &rangeValueDelta) {
    +
    globalRangeValue += rangeValueDelta; // calculate absolute rangeValue
    +
    Serial.printf("Device %s range value for %s has been changed about %i to %d\r\n", deviceId.c_str(), instance.c_str(), rangeValueDelta, globalRangeValue);
    +
    rangeValueDelta = globalRangeValue; // return absolute rangeValue
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ GenericModeCallback

    + +
    +
    + + + + +
    using GenericModeCallback = std::function<bool(const String &, const String &, String &)>
    +
    + +

    Callback definition for onSetMode function for a specific instance.

    +

    Gets called when device receive a setBands request
    +

    Parameters
    + + + + + +
    [in]deviceIdString which contains the ID of device
    [in]instanceString name of the instance
    [in]modeString device mode should set to
    [out]modeString devices mode is set to
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onSetMode(const String &deviceId, const String &instance, String &mode) {
    +
    Serial.printf("Device %s mode %s set to %s\r\n", deviceId.c_str(), instance.c_str(), mode);
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ GenericRangeValueCallback_int

    + +
    +
    + + + + +
    using GenericRangeValueCallback_int = bool (*)(const String &, const String &, int &)
    +
    + +

    Callback definition for onRangeValue function.

    +

    Gets called when device receive a setRangeValue reuqest
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]rangeValuefor range value device has to be set
    [out]rangeValuereturning the current range value
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onRangeValue(const String &deviceId, int &rangeValue) {
    +
    Serial.printf("Device %s range value has been set to %d\r\n", deviceId.c_str(), rangeValue);
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ GenericSetRangeValueCallback_int

    + +
    +
    + +

    Callback definition for onRangeValue function on a specific instance.

    +

    Gets called when device receive a setRangeValue reuqest
    +

    Parameters
    + + + + + +
    [in]deviceIdString which contains the ID of device
    [in]instanceString instance name
    [in]rangeValuefor range value device has to be set
    [out]rangeValuereturning the current range value
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onRangeValue(const String &deviceId, const String &instance, int &rangeValue) {
    +
    Serial.printf("Device %s range value for %s has been set to %d\r\n", deviceId.c_str(), instance.c_str(), rangeValue);
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ GenericToggleStateCallback

    + +
    +
    + + + + +
    using GenericToggleStateCallback = std::function<bool(const String &, const String&, bool &)>
    +
    + +

    Callback definition for onToggleState function.

    +

    Gets called when device receive a setPowerState reuqest
    +

    Parameters
    + + + + + +
    [in]deviceIdString which contains the ID of device
    [in]instanceString which instance is requested
    [in]statetrue = device is requested to turn on
    + false = device is requested to turn off
    [out]statetrue = device has been turned on
    + false = device has been turned off
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onToggleState(const String &deviceId, const String &instance, bool &state) {
    +
    Serial.printf("Device %s state \"%s\" turned %s\r\n", deviceId.c_str(), instance.c_str(), state ? "on" : "off");
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ IncreaseColorTemperatureCallback

    + +
    +
    + + + + +
    using IncreaseColorTemperatureCallback = std::function<bool(const String &, int &)>
    +
    + +

    Callback definition for onIncreaseColorTemperature function.

    +

    Gets called when device receive a increaseColorTemperature request
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]colorTemperatureInteger value 1 = Device should increase color temperature
    [out]colorTemperatureInteger value return the new color temperarature
    + 2200 = warm white
    + 2700 = soft white
    + 4000 = white
    + 5500 = daylight white
    + 7000 = cool white
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    +
    +
    bool onIncreaseColorTemperature(const String &deviceId, int &colorTemperature) {
    +
    globalColorTemperature += 1000; // increase globalColorTemperature about 1000;
    +
    Serial.printf("Device %s colorTemperature changed to %i\r\n", deviceId.c_str(), colorTemperature);
    +
    colorTemperature = globalColorTemperature; // return new colorTemperature
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ KeystrokeCallback

    + +
    +
    + + + + +
    using KeystrokeCallback = std::function<bool(const String &, String &)>
    +
    + +

    Callback definition for onKeystroke function.

    +

    Gets called when device receive a setBands request
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]keystrokeString keystroke
    + INFO, MORE, SELECT, UP, DOWN, LEFT, RIGHT, PAGE_UP, PAGE_DOWN, PAGE_LEFT, PAGE_RIGHT
    [out]keystrokeString keystroke
    + INFO, MORE, SELECT, UP, DOWN, LEFT, RIGHT, PAGE_UP, PAGE_DOWN, PAGE_LEFT, PAGE_RIGHT
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onKeystroke(const String& deviceId, String &keystroke) {
    +
    Serial.printf("Device %s, key %s pressed\r\n", deviceId.c_str(), keystroke.c_str());
    +
    return true;
    +
    }
    +
    +
    +
    + +

    ◆ LockStateCallback

    + +
    +
    + + + + +
    using LockStateCallback = std::function<bool(const String &, bool &)>
    +
    + +

    Callback definition for onLockState function.

    +

    Gets called when device receive a setLockState request
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]statetrue = device is requested to lock
    + false = device is requested to unlock
    [out]statetrue = device has been locked
    + false = device has been unlocked
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onLockState(const String &deviceId, bool &lockState) {
    +
    Serial.printf("Device is %s\r\n", lockState?"locked":"unlocked");
    +
    return true;
    +
    }
    +
    +
    +
    + +

    ◆ MediaControlCallback

    + +
    +
    + + + + +
    using MediaControlCallback = std::function<bool(const String &, String &)>
    +
    + +

    Callback definition for onMediaControl function.

    +

    Gets called when device receive a mediaControl request
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]controlString with requested control
    + FastForward, Next, Pause, Play, Previous, Rewind, StartOver, Stop
    [out]controlString with control
    + FastForward, Next, Pause, Play, Previous, Rewind, StartOver, Stop
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onMediaControl(const String &deviceId, String &control) {
    +
    Serial.printf("Device %s: %s\r\n", deviceId.c_str(), control.c_str());
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ ModeCallback

    + +
    +
    + + + + +
    using ModeCallback = std::function<bool(const String &, String &)>
    +
    + +

    Callback definition for onSetMode function.

    +

    Gets called when device receive a setBands request
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]modeString device mode should set to
    + MOVIE, MUSIC, NIGHT, SPORT, TV
    [out]modeString devices mode is set to
    + MOVIE, MUSIC, NIGHT, SPORT, TV
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onSetMode(const String &deviceId, String &mode) {
    +
    Serial.printf("Device %s is set to mode %s\r\n", deviceId.c_str(), mode);
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ MuteCallback

    + +
    +
    + + + + +
    using MuteCallback = std::function<bool(const String &, bool &)>
    +
    + +

    Callback definition for onMute function.

    +

    Gets called when device receive a setMute request
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]mutetrue mute device
    + false unmute device
    [out]mutetrue device is muted
    + false device is unmuted
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onMute(const String &deviceId, bool &mute) {
    +
    Serial.printf("Device %s is %s\r\n", deviceId.c_str(), mute?"muted":"unmuted");
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ PowerStateCallback

    + +
    +
    + + + + +
    using PowerStateCallback = std::function<bool(const String &, bool &)>
    +
    + +

    Callback definition for onPowerState function.

    +

    Gets called when device receive a setPowerState reuqest
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]statetrue = device is requested to turn on
    + false = device is requested to turn off
    [out]statetrue = device has been turned on
    + false = device has been turned off
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onPowerState(const String &deviceId, bool &state) {
    +
    Serial.printf("Device %s turned %s\r\n", deviceId.c_str(), state?"on":"off");
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ ResetBandsCallback

    + +
    +
    + + + + +
    using ResetBandsCallback = std::function<bool(const String &, const String &, int &)>
    +
    + +

    Callback definition for onResetBands function.

    +

    Gets called when device receive a onResetBands request
    +

    Parameters
    + + + + + +
    [in]deviceIdString which contains the ID of device
    [in]bandsString with requested bands to reset
    + BASS, MIDRANGE, TREBBLE
    [out]bandsString with changed bands
    + BASS, MIDRANGE, TREBBLE
    [out]levelInteger value with level bands changed to
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    std::map<String, int> equalizerBands;
    +
    +
    bool onResetBands(const String &deviceId, String &bands, int &level) {
    +
    equalizerBands[bands] = 0; // reset bands level to 0
    +
    Serial.printf("Device %s bands %s reset to %d\r\n", deviceId.c_str(), bands.c_str(), equalizerBands[bands]);
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ SelectInputCallback

    + +
    +
    + + + + +
    using SelectInputCallback = std::function<bool(const String &, String &)>
    +
    + +

    Callback definition for onSelectInput function.

    +

    Gets called when device receive a selectInput request
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]inputString with input name device is requested to switch to
    + AUX 1..AUX 7, BLURAY, CABLE, CD, COAX 1,COAX 2, COMPOSITE 1, DVD, GAME, HD RADIO, HDMI 1.. HDMI 10, HDMI ARC, INPUT 1..INPUT 10, IPOD, LINE 1..LINE 7, MEDIA PLAYER, OPTICAL 1, OPTICAL 2, PHONO, PLAYSTATION, PLAYSTATION 3, PLAYSTATION 4, SATELLITE, SMARTCAST, TUNER, TV, USB DAC, VIDEO 1..VIDEO 3, XBOX
    [out]inputString with input name device has switchted to
    + AUX 1..AUX 7, BLURAY, CABLE, CD, COAX 1,COAX 2, COMPOSITE 1, DVD, GAME, HD RADIO, HDMI 1.. HDMI 10, HDMI ARC, INPUT 1..INPUT 10, IPOD, LINE 1..LINE 7, MEDIA PLAYER, OPTICAL 1, OPTICAL 2, PHONO, PLAYSTATION, PLAYSTATION 3, PLAYSTATION 4, SATELLITE, SMARTCAST, TUNER, TV, USB DAC, VIDEO 1..VIDEO 3, XBOX
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onSelectInput(const String &deviceId, String &input) {
    +
    Serial.printf("Device %s input changed to %s\r\n", deviceId.c_str(), input.c_str());
    +
    return true;
    +
    }
    +
    +
    +
    + +

    ◆ SetBandsCallback

    + +
    +
    + + + + +
    using SetBandsCallback = std::function<bool(const String &, const String &, int &)>
    +
    + +

    Callback definition for onSetBands function.

    +

    Gets called when device receive a setBands request
    +

    Parameters
    + + + + + + +
    [in]deviceIdString which contains the ID of device
    [in]bandsString with requested bands to change
    + BASS, MIDRANGE, TREBBLE
    [in]levelInteger value with level bands should set to
    [out]bandsString with changed bands
    + BASS, MIDRANGE, TREBBLE
    [out]levelInteger value with level bands changed to
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    std::map<String, int> equalizerBands;
    +
    +
    bool onSetBands(const String &deviceId, String &bands, int &level) {
    +
    Serial.printf("Device %s bands %s set to %d\r\n", deviceId.c_str(), bands.c_str(), level);
    + +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ SetPercentageCallback

    + +
    +
    + + + + +
    using SetPercentageCallback = std::function<bool(const String &, int &)>
    +
    + +

    Callback definition for onSetPercentage function.

    +

    Gets called when device receive a setPercentage request
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]percentageInteger with percentage device should set to
    [out]percentageInteger with percentage device has been set to
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onSetPercentage(const String &deviceId, int &percentage) {
    +
    Serial.printf("Device %s percentage %d\r\n", deviceId.c_str(), percentage);
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ SetPowerLevelCallback

    + +
    +
    + + + + +
    using SetPowerLevelCallback = std::function<bool(const String &, int &)>
    +
    + +

    Definition for setPowerLevel callback.

    +

    Gets called when device receive a setPowerLevel reuqest
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]powerLevelinteger 0..100 new powerlevel the device should be set to
    [out]powerLevelinteger 0..100 report the powerlevel that the device have been set to
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onPowerLevel(const String &deviceId, int &powerLevel) {
    +
    Serial.printf("Device %s powerlevel %d\r\n", deviceId.c_str(), powerLevel);
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ SetTargetTemperatureCallback

    + +
    +
    + + + + +
    using SetTargetTemperatureCallback = std::function<bool(const String &, float &)>
    +
    + +

    Callback definition for onTargetTemperature function.

    +

    Gets called when device receive a targetTemperature request
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]temperatureFloat device is requested to set the target temperature to
    [out]temperatureFloat target temperature temperature device is set to
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onTargetTemperature(const String &deviceId, float &targetTemp) {
    +
    Serial.printf("Device %s target temperature set to %f\r\n", deviceId.c_str(), targetTemp);
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ SetVolumeCallback

    + +
    +
    + + + + +
    using SetVolumeCallback = std::function<bool(const String &, int &)>
    +
    + +

    Callback definition for onSetVolume function.

    +

    Gets called when device receive a setVolume request
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]volumeInteger with volume device should set to
    [out]volumeInteger with volume device has been set to
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onSetVolume(const String &deviceId, int &volume) {
    +
    Serial.printf("Device %s volume set to %d\r\n", deviceId.c_str(), volume);
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    + +

    ◆ SkipChannelsCallback

    + +
    +
    + + + + +
    using SkipChannelsCallback = std::function<bool(const String &, int, String &)>
    +
    + +

    Callback definition for onSkipChannels function.

    +

    Gets called when device receive a changeChannel request by using channel number

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]channelCountInteger with channels device is requested to skip -n..+n
    [out]channelNameString with channel name device has switchted to
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    // channelNames used to convert channelNumber into channelName
    +
    // please put in your TV channel names
    +
    // channel numbers starts counting from 0!
    +
    // so "ZDF" is channel 2
    +
    const char* channelNames[] = {
    +
    "A/V",
    +
    "ard",
    +
    "ZDF",
    +
    "n. d. r.",
    +
    "kabel eins",
    +
    "VOX",
    +
    "Sat.1",
    +
    "ProSieben",
    +
    "rtl",
    +
    "RTL II",
    +
    "SUPER RTL",
    +
    "KiKA"
    +
    };
    +
    +
    int tvChannel; // current channel selected
    +
    +
    #define MAX_CHANNELS sizeof(channelNames) / sizeof(channelNames[0]) // just to determine how many channels are in channelNames array
    +
    +
    // map channelNumbers used to convert channelName into channelNumber
    +
    // This map is initialized in "setupChannelNumbers()" function by using the "channelNames" array
    +
    std::map<String, unsigned int> channelNumbers;
    +
    +
    void setupChannelNumbers() {
    +
    for (unsigned int i=0; i < MAX_CHANNELS; i++) {
    +
    channelNumbers[channelNames[i]] = i;
    +
    }
    +
    }
    +
    +
    bool onSkipChannels(const String &deviceId, const int channelCount, String &channelName) {
    +
    tvChannel += channelCount; // calculate new channel number
    +
    if (tvChannel < 0) tvChannel = 0;
    +
    if (tvChannel > MAX_CHANNELS-1) tvChannel = MAX_CHANNELS-1;
    +
    channelName = String(channelNames[tvChannel]); // return channel name
    +
    +
    Serial.printf("Skip channel: %i (number: %i / name: \"%s\")\r\n", channelCount, tvChannel, channelName.c_str());
    +
    +
    return true;
    +
    }
    +
    +
    +
    + +

    ◆ ThermostatModeCallback

    + +
    +
    + + + + +
    using ThermostatModeCallback = std::function<bool(const String &, String &)>
    +
    + +

    Callback definition for onThermostatMode function.

    +

    Gets called when device receive a setThermostatMode request
    +

    Parameters
    + + + + +
    [in]deviceIdString which contains the ID of device
    [in]modeString with mode device should set to
    [out]modeString device mode is set to
    +
    +
    +
    Returns
    the success of the request
    +
    Return values
    + + + +
    truerequest handled properly
    falserequest was not handled properly because of some error
    +
    +
    +

    +Example-Code

    +
    bool onThermostatMode(const String& deviceId, String& mode) {
    +
    Serial.printf("Deivce %s thermostat mode set to %s\r\n", deviceId.c_str(), mode);
    +
    return true; // request handled properly
    +
    }
    +
    +
    +
    +
    +
    + + + + diff --git a/docs/namespacemembers.html b/docs/namespacemembers.html index 4e141c7..749bb93 100644 --- a/docs/namespacemembers.html +++ b/docs/namespacemembers.html @@ -1,9 +1,9 @@ - + - - + + SinricPro Library: Namespace Members @@ -23,8 +23,8 @@
    - - + @@ -33,21 +33,22 @@
    +
    SinricPro Library
    - + +/* @license-end */ +
    @@ -61,7 +62,7 @@
    @@ -75,181 +76,114 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    Here is a list of all documented namespace members with links to the namespaces they belong to:
    -

    - a -

    diff --git a/docs/namespacemembers_type.html b/docs/namespacemembers_type.html index 047259a..2d9c6dc 100644 --- a/docs/namespacemembers_type.html +++ b/docs/namespacemembers_type.html @@ -1,9 +1,9 @@ - + - - + + SinricPro Library: Namespace Members @@ -23,8 +23,8 @@
    - - + @@ -33,21 +33,22 @@
    +
    SinricPro Library
    - + +/* @license-end */ +
    @@ -61,7 +62,7 @@
    @@ -75,181 +76,114 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -  - -

    - a -

    diff --git a/docs/nav_fd.png b/docs/nav_fd.png new file mode 100644 index 0000000..032fbdd Binary files /dev/null and b/docs/nav_fd.png differ diff --git a/docs/nav_hd.png b/docs/nav_hd.png new file mode 100644 index 0000000..de80f18 Binary files /dev/null and b/docs/nav_hd.png differ diff --git a/docs/navtree.css b/docs/navtree.css index 33341a6..69211d4 100644 --- a/docs/navtree.css +++ b/docs/navtree.css @@ -22,8 +22,13 @@ #nav-tree .selected { background-image: url('tab_a.png'); background-repeat:repeat-x; - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + color: var(--nav-text-active-color); + text-shadow: var(--nav-text-active-shadow); +} + +#nav-tree .selected .arrow { + color: var(--nav-arrow-selected-color); + text-shadow: none; } #nav-tree img { @@ -37,13 +42,12 @@ text-decoration:none; padding:0px; margin:0px; - outline:none; } #nav-tree .label { margin:0px; padding:0px; - font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + font: 12px var(--font-family-nav); } #nav-tree .label a { @@ -52,7 +56,7 @@ #nav-tree .selected a { text-decoration:none; - color:#fff; + color:var(--nav-text-active-color); } #nav-tree .children_ul { @@ -67,7 +71,6 @@ #nav-tree { padding: 0px 0px; - background-color: #FAFAFF; font-size:14px; overflow:auto; } @@ -86,7 +89,8 @@ display:block; position: absolute; left: 0px; - width: 250px; + width: $width; + overflow : hidden; } .ui-resizable .ui-resizable-handle { @@ -94,7 +98,7 @@ } .ui-resizable-e { - background-image:url("splitbar.png"); + background-image:var(--nav-splitbar-image); background-size:100%; background-repeat:repeat-y; background-attachment: scroll; @@ -117,9 +121,8 @@ } #nav-tree { - background-image:url('nav_h.png'); background-repeat:repeat-x; - background-color: #F9FAFC; + background-color: var(--nav-background-color); -webkit-overflow-scrolling : touch; /* iOS 5+ */ } diff --git a/docs/navtree.js b/docs/navtree.js index 1e272d3..93dd3d4 100644 --- a/docs/navtree.js +++ b/docs/navtree.js @@ -94,7 +94,7 @@ function cachedLink() } } -function getScript(scriptName,func,show) +function getScript(scriptName,func) { var head = document.getElementsByTagName("head")[0]; var script = document.createElement('script'); @@ -124,7 +124,7 @@ function createIndent(o,domNode,node,level) node.plus_img.innerHTML=arrowRight; node.expanded = false; } else { - expandNode(o, node, false, false); + expandNode(o, node, false, true); } } node.expandToggle.appendChild(imgNode); @@ -265,15 +265,15 @@ function showRoot() })(); } -function expandNode(o, node, imm, showRoot) +function expandNode(o, node, imm, setFocus) { if (node.childrenData && !node.expanded) { if (typeof(node.childrenData)==='string') { var varName = node.childrenData; getScript(node.relpath+varName,function(){ node.childrenData = getData(varName); - expandNode(o, node, imm, showRoot); - }, showRoot); + expandNode(o, node, imm, setFocus); + }); } else { if (!node.childrenVisited) { getNode(o, node); @@ -281,6 +281,9 @@ function expandNode(o, node, imm, showRoot) $(node.getChildrenUL()).slideDown("fast"); node.plus_img.innerHTML = arrowDown; node.expanded = true; + if (setFocus) { + $(node.expandToggle).focus(); + } } } } @@ -325,11 +328,14 @@ function selectAndHighlight(hash,n) $(n.itemDiv).addClass('selected'); $(n.itemDiv).attr('id','selected'); } + var topOffset=5; + if (typeof page_layout!=='undefined' && page_layout==1) { + topOffset+=$('#top').outerHeight(); + } if ($('#nav-tree-contents .item:first').hasClass('selected')) { - $('#nav-sync').css('top','30px'); - } else { - $('#nav-sync').css('top','5px'); + topOffset+=25; } + $('#nav-sync').css('top',topOffset+'px'); showRoot(); } @@ -341,7 +347,7 @@ function showNode(o, node, index, hash) getScript(node.relpath+varName,function(){ node.childrenData = getData(varName); showNode(o,node,index,hash); - },true); + }); } else { if (!node.childrenVisited) { getNode(o, node); @@ -359,11 +365,11 @@ function showNode(o, node, index, hash) n.childrenData = getData(varName); node.expanded=false; showNode(o,node,index,hash); // retry with child node expanded - },true); + }); } else { var rootBase = stripPath(o.toroot.replace(/\..+$/, '')); if (rootBase=="index" || rootBase=="pages" || rootBase=="search") { - expandNode(o, n, true, true); + expandNode(o, n, true, false); } selectAndHighlight(hash,n); } @@ -441,7 +447,7 @@ function navTo(o,root,hash,relpath) if (navTreeSubIndices[i]) { gotoNode(o,i,root,hash,relpath); } - },true); + }); } } @@ -542,5 +548,12 @@ function initNavTree(toroot,relpath) navTo(o,toroot,hashUrl(),relpath); } }) + + $("div.toc a[href]").click(function(e) { + e.preventDefault(); + var docContent = $('#doc-content'); + var aname = $(this).attr("href"); + gotoAnchor($(aname),aname,true); + }) } /* @license-end */ diff --git a/docs/navtreedata.js b/docs/navtreedata.js index 0151515..bb2b216 100644 --- a/docs/navtreedata.js +++ b/docs/navtreedata.js @@ -25,30 +25,8 @@ var NAVTREE = [ [ "SinricPro Library", "index.html", [ - [ "SinricPro (ESP8266 / ESP32 SDK)", "index.html", [ - [ "Note", "index.html#autotoc_md1", null ], - [ "Installation", "index.html#autotoc_md2", [ - [ "VS Code & PlatformIO:", "index.html#autotoc_md3", null ], - [ "ArduinoIDE", "index.html#autotoc_md4", null ] - ] ], - [ "Dependencies", "index.html#autotoc_md6", null ], - [ "Full user documentation", "index.html#autotoc_md8", null ], - [ "Examples", "index.html#autotoc_md10", null ], - [ "Usage", "index.html#autotoc_md12", [ - [ "Include SinricPro-Library (SinricPro.h) and SinricPro-Device-Libraries (eg. SinricProSwitch.h)", "index.html#autotoc_md13", null ], - [ "Define your credentials from SinricPro-Portal (portal.sinric.pro)", "index.html#autotoc_md14", null ], - [ "Define callback routine(s)", "index.html#autotoc_md15", null ], - [ "In setup()", "index.html#autotoc_md16", null ], - [ "In loop()", "index.html#autotoc_md17", null ] - ] ], - [ "How to add a device?", "index.html#autotoc_md19", null ], - [ "How to retrieve a device for sending an event?", "index.html#autotoc_md21", null ], - [ "How to send a push notification?", "index.html#autotoc_md22", null ], - [ "Devices", "index.html#autotoc_md24", [ - [ "* Custom devices", "index.html#autotoc_md25", null ] - ] ] - ] ], - [ "Modules", "modules.html", "modules" ], + [ "SinricPro (ESP8266 / ESP32 / RP2040)", "index.html", "index" ], + [ "Topics", "topics.html", "topics" ], [ "Namespace Members", "namespacemembers.html", [ [ "All", "namespacemembers.html", null ], [ "Typedefs", "namespacemembers_type.html", null ] @@ -68,7 +46,7 @@ var NAVTREE = var NAVTREEINDEX = [ "annotated.html", -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html#aa2d3dbea5b07e4c5f39d3d20aa2167a4" +"index.html#autotoc_md1" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/docs/navtreeindex0.js b/docs/navtreeindex0.js index 4e69a9a..ad8f198 100644 --- a/docs/navtreeindex0.js +++ b/docs/navtreeindex0.js @@ -1,253 +1,253 @@ var NAVTREEINDEX0 = { "annotated.html":[3,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_air_quality_sensor.html":[1,2,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_air_quality_sensor.html#a733195bdc5b15c858e4e890847b3a0d5":[1,2,0,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller.html":[1,2,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller.html#a0633e5fa2981189f4a093bab00a8c7f1":[1,2,1,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller.html#a2a96c414210f61de3ce53a4ca8c963b3":[1,2,1,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller.html#abbaab3067b1fcdcc5928451b818a4420":[1,2,1,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html":[1,2,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html#a92f3b83744b5bb82d32628eef39c1eb9":[1,2,2,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html#ab1123d03d471fad4896eb2960ed41855":[1,2,2,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html#afd8aee20590bfadec181c6ee515125ec":[1,2,2,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html#aff5839c3020c3006af1a2a8c37cc858e":[1,2,2,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_controller.html":[1,2,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_controller.html#a059ff103149869b7c49cdb8911875b7b":[1,2,3,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_controller.html#a3599a6d00eb0f9127a7c1188885c5bc0":[1,2,3,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html":[1,2,4], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html#a0f90d7f5a5b365116f97beca7630ccc9":[1,2,4,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html#a7468976e7fffeee14cc869b7236cbb50":[1,2,4,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html#a7ea9fd9861a5668a41d06267bfbec82a":[1,2,4,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html#a8535c44fd2517ed09ebe6a203cc25b67":[1,2,4,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_contact_sensor.html":[1,2,5], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_contact_sensor.html#a452a4cfa3177d8d8d31c5919e9ccbb19":[1,2,5,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_door_controller.html":[3,0,0,28], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_door_controller.html#a375cda2b0bc05e1a66e3bc29d059d9a7":[3,0,0,28,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_door_controller.html#a6b536531ab89b39f1a48cb107e22185e":[3,0,0,28,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_doorbell.html":[1,2,6], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_doorbell.html#a168f5a4ddcbf381fd548bf10ee05b272":[1,2,6,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html":[1,2,7], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html#a41a5c1506545c44c2408054a8675c7a8":[1,2,7,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html#a4aaa7a29394560be7537a86b0304d199":[1,2,7,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html#a4ad5674e36d96a73147388251b794c82":[1,2,7,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html#aa6c3aabc2b442d82ac5456ccaac3f60d":[1,2,7,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller.html":[1,2,8], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller.html#a18f8f71ecf0d7292a63d9486f94e5180":[1,2,8,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller.html#a973241ac912a18b142d236dda7f80e97":[1,2,8,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_keypad_controller.html":[1,2,9], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_keypad_controller.html#ab24b4858dcc69145a367e964c2ae7961":[1,2,9,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_lock_controller.html":[1,2,10], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_lock_controller.html#a8fb3fec204da21e69d05f89a9ecb4739":[1,2,10,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_lock_controller.html#aee42cc397234a454fd353ca6bc12a859":[1,2,10,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller.html":[1,2,11], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller.html#a7af593cbf79d38f6b90efb5afee45077":[1,2,11,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller.html#afc2620621377fff928737b5a8a537020":[1,2,11,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html":[1,2,12], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html#a41f8465e89d147c08ab8cbc6839d34da":[1,2,12,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html#a6b15ba168b3a673b98da43ac5e4ef76c":[1,2,12,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html#a7c84d5c26f2ded88e4941313015f7f4c":[1,2,12,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html#ada087c948c3ab923bdb7818daa6b2b79":[1,2,12,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_motion_sensor.html":[1,2,13], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_motion_sensor.html#a9be024aa2bb70f0146a02dd1b79d3faa":[1,2,13,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller.html":[1,2,14], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller.html#a4717d892b64a14052712152924bd5b29":[1,2,14,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller.html#ab5fc79cc8903c3ccc1c106abf61d7cfd":[1,2,14,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_percentage_controller.html":[1,2,15], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_percentage_controller.html#a77ac70c4880e38dae4f640dceaeb2816":[1,2,15,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_percentage_controller.html#adf688c12e451e52b05670f150bdabcc8":[1,2,15,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_percentage_controller.html#aeef432df118679c689ccd8a48d47dc3d":[1,2,15,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html":[1,2,16], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html#a0685d34694badb4442fed6b69b69b366":[1,2,16,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html#a13b10bdb1844babe4de320fff9172d96":[1,2,16,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html#a2f1f88c7b4d9503bfcfe5557c5e55ed4":[1,2,16,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_sensor.html":[1,2,17], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_sensor.html#aec04692842ae1953973503f6be6d9afc":[1,2,17,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html":[1,2,18], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html#a32f3257da431a1035f23a265ff0cc4cf":[1,2,18,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html#acfd5f3a30933ace93751bd823630cded":[1,2,18,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html":[1,2,19], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html#a04266791a4b23e9614b8773edb5f67b6":[1,2,19,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html":[1,2,20], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html#a1d726751c416fe6dd408e5dd19f6b53b":[1,2,20,4], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html#a6d6d8070b49c8b5272460836a1120b33":[1,2,20,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html#a94adbcdf6ce61cb6552a5f9915e705ae":[1,2,20,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html#aaf84aa417e2246843a27e819898e64b5":[1,2,20,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html#ae85696d55112ae7343f9807faee6e064":[1,2,20,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_air_quality_sensor.html":[1,1,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_air_quality_sensor.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,0,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_air_quality_sensor.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,0,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_air_quality_sensor.html#a733195bdc5b15c858e4e890847b3a0d5":[1,1,0,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_air_quality_sensor.html#acfd5f3a30933ace93751bd823630cded":[1,1,0,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html":[1,1,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,1,5], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html#a1d726751c416fe6dd408e5dd19f6b53b":[1,1,1,7], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,1,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html#a6d6d8070b49c8b5272460836a1120b33":[1,1,1,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html#a94adbcdf6ce61cb6552a5f9915e705ae":[1,1,1,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html#aaf84aa417e2246843a27e819898e64b5":[1,1,1,6], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html#acfd5f3a30933ace93751bd823630cded":[1,1,1,4], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html#ae85696d55112ae7343f9807faee6e064":[1,1,1,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_camera.html":[1,1,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_camera.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,2,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_camera.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,2,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_camera.html#acfd5f3a30933ace93751bd823630cded":[1,1,2,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html":[1,0,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#a1b5b66fb0c539b9b5f5f58a135056c75":[1,0,0,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#a27a9bb7f1e8bde0f39398649493b6f93":[1,0,0,6], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#a37c2d0658e498b1bf878f8a3d9a7c5b4":[1,0,0,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#a654bb017ca55b448d55bb36e0346f38a":[1,0,0,4], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#a84a491d393b5c7c1433a2a9e62a58766":[1,0,0,5], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#ac33a355adfc413d4ff36974d735115bd":[1,0,0,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#afb2be26eef972203404140612fa31326":[1,0,0,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_contactsensor.html":[1,1,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_contactsensor.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,3,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_contactsensor.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,3,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_contactsensor.html#a452a4cfa3177d8d8d31c5919e9ccbb19":[1,1,3,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_contactsensor.html#acfd5f3a30933ace93751bd823630cded":[1,1,3,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_device.html":[3,0,0,5], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html":[1,1,4], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,4,5], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html#a0685d34694badb4442fed6b69b69b366":[1,1,4,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html#a13b10bdb1844babe4de320fff9172d96":[1,1,4,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html#a2f1f88c7b4d9503bfcfe5557c5e55ed4":[1,1,4,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,4,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html#acfd5f3a30933ace93751bd823630cded":[1,1,4,4], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_doorbell.html":[1,1,5], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_doorbell.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,5,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_doorbell.html#a168f5a4ddcbf381fd548bf10ee05b272":[1,1,5,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_doorbell.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,5,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_doorbell.html#acfd5f3a30933ace93751bd823630cded":[1,1,5,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html":[1,1,6], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,6,5], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html#a0685d34694badb4442fed6b69b69b366":[1,1,6,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html#a13b10bdb1844babe4de320fff9172d96":[1,1,6,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html#a2f1f88c7b4d9503bfcfe5557c5e55ed4":[1,1,6,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,6,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html#acfd5f3a30933ace93751bd823630cded":[1,1,6,4], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html":[1,1,7], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,7,5], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html#a1d726751c416fe6dd408e5dd19f6b53b":[1,1,7,7], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,7,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html#a6d6d8070b49c8b5272460836a1120b33":[1,1,7,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html#a94adbcdf6ce61cb6552a5f9915e705ae":[1,1,7,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html#aaf84aa417e2246843a27e819898e64b5":[1,1,7,6], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html#acfd5f3a30933ace93751bd823630cded":[1,1,7,4], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html#ae85696d55112ae7343f9807faee6e064":[1,1,7,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_garage_door.html":[1,1,8], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_garage_door.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,8,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_garage_door.html#a375cda2b0bc05e1a66e3bc29d059d9a7":[1,1,8,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_garage_door.html#a6b536531ab89b39f1a48cb107e22185e":[1,1,8,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html":[1,1,9], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,9,11], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a059ff103149869b7c49cdb8911875b7b":[1,1,9,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a0633e5fa2981189f4a093bab00a8c7f1":[1,1,9,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a0f90d7f5a5b365116f97beca7630ccc9":[1,1,9,9], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a2a96c414210f61de3ce53a4ca8c963b3":[1,1,9,7], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,9,6], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a3599a6d00eb0f9127a7c1188885c5bc0":[1,1,9,8], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a7468976e7fffeee14cc869b7236cbb50":[1,1,9,4], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a7ea9fd9861a5668a41d06267bfbec82a":[1,1,9,5], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#a8535c44fd2517ed09ebe6a203cc25b67":[1,1,9,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#abbaab3067b1fcdcc5928451b818a4420":[1,1,9,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html#acfd5f3a30933ace93751bd823630cded":[1,1,9,10], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_lock.html":[1,1,10], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_lock.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,10,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_lock.html#a8fb3fec204da21e69d05f89a9ecb4739":[1,1,10,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_lock.html#aee42cc397234a454fd353ca6bc12a859":[1,1,10,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_motionsensor.html":[1,1,11], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_motionsensor.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,11,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_motionsensor.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,11,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_motionsensor.html#a9be024aa2bb70f0146a02dd1b79d3faa":[1,1,11,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_motionsensor.html#acfd5f3a30933ace93751bd823630cded":[1,1,11,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_power_sensor.html":[1,1,12], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_power_sensor.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,12,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_power_sensor.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,12,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_power_sensor.html#acfd5f3a30933ace93751bd823630cded":[1,1,12,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_power_sensor.html#aec04692842ae1953973503f6be6d9afc":[1,1,12,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html":[1,1,13], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,13,17], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a18f8f71ecf0d7292a63d9486f94e5180":[1,1,13,6], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a2c868c87f96e3924c8b309e1bcfb507e":[1,1,13,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,13,4], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a41a5c1506545c44c2408054a8675c7a8":[1,1,13,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a41f8465e89d147c08ab8cbc6839d34da":[1,1,13,14], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a4717d892b64a14052712152924bd5b29":[1,1,13,15], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a4aaa7a29394560be7537a86b0304d199":[1,1,13,7], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a4ad5674e36d96a73147388251b794c82":[1,1,13,11], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a5db8c85f222debbece54c794015f9402":[1,1,13,10], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a6b15ba168b3a673b98da43ac5e4ef76c":[1,1,13,8], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a7af593cbf79d38f6b90efb5afee45077":[1,1,13,12], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a7c84d5c26f2ded88e4941313015f7f4c":[1,1,13,13], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#a973241ac912a18b142d236dda7f80e97":[1,1,13,18], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#aa2d3dbea5b07e4c5f39d3d20aa2167a4":[1,1,13,19], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#aa6c3aabc2b442d82ac5456ccaac3f60d":[1,1,13,5], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#ab5fc79cc8903c3ccc1c106abf61d7cfd":[1,1,13,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#acfd5f3a30933ace93751bd823630cded":[1,1,13,16], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#ada087c948c3ab923bdb7818daa6b2b79":[1,1,13,9], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html#afc2620621377fff928737b5a8a537020":[1,1,13,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_switch.html":[1,1,14], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_switch.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,14,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_switch.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,14,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_switch.html#acfd5f3a30933ace93751bd823630cded":[1,1,14,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html":[1,1,17], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,17,13], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#a18f8f71ecf0d7292a63d9486f94e5180":[1,1,17,6], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#a2c868c87f96e3924c8b309e1bcfb507e":[1,1,17,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,17,5], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#a4717d892b64a14052712152924bd5b29":[1,1,17,11], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#a5db8c85f222debbece54c794015f9402":[1,1,17,7], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#a7af593cbf79d38f6b90efb5afee45077":[1,1,17,10], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#a92f3b83744b5bb82d32628eef39c1eb9":[1,1,17,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#a973241ac912a18b142d236dda7f80e97":[1,1,17,14], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#aa2d3dbea5b07e4c5f39d3d20aa2167a4":[1,1,17,15], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#ab1123d03d471fad4896eb2960ed41855":[1,1,17,8], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#ab5fc79cc8903c3ccc1c106abf61d7cfd":[1,1,17,4], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#acfd5f3a30933ace93751bd823630cded":[1,1,17,12], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#afc2620621377fff928737b5a8a537020":[1,1,17,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#afd8aee20590bfadec181c6ee515125ec":[1,1,17,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html#aff5839c3020c3006af1a2a8c37cc858e":[1,1,17,9], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_temperaturesensor.html":[1,1,15], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_temperaturesensor.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,15,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_temperaturesensor.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,15,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_temperaturesensor.html#a75956fe7aff6e595a9b57519316ff789":[1,1,15,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_temperaturesensor.html#acfd5f3a30933ace93751bd823630cded":[1,1,15,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html":[1,1,16], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,16,5], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html#a1c73725f1f3fbb1c5b72208aae5c2bf2":[1,1,16,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html#a2ef31536973b20815dd6c80a28e19c9f":[1,1,16,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,16,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html#a75956fe7aff6e595a9b57519316ff789":[1,1,16,7], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html#ab8b7fdd977a0a38413f2279b50274890":[1,1,16,6], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html#ac51f6fecfdf4c7bc8e0712e2da47bbf4":[1,1,16,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html#acfd5f3a30933ace93751bd823630cded":[1,1,16,4], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html#ae7273cd094f64a93494ae99501fc83e8":[1,1,16,8], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html":[1,1,18], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,18,8], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#a1c73725f1f3fbb1c5b72208aae5c2bf2":[1,1,18,5], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#a1d726751c416fe6dd408e5dd19f6b53b":[1,1,18,10], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#a2ef31536973b20815dd6c80a28e19c9f":[1,1,18,6], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,18,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#a6d6d8070b49c8b5272460836a1120b33":[1,1,18,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#a94adbcdf6ce61cb6552a5f9915e705ae":[1,1,18,4], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#aaf84aa417e2246843a27e819898e64b5":[1,1,18,9], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#ab8b7fdd977a0a38413f2279b50274890":[1,1,18,11], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#ac51f6fecfdf4c7bc8e0712e2da47bbf4":[1,1,18,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#acfd5f3a30933ace93751bd823630cded":[1,1,18,7], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#ae7273cd094f64a93494ae99501fc83e8":[1,1,18,12], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html#ae85696d55112ae7343f9807faee6e064":[1,1,18,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_temperature_sensor.html":[1,2,21], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_temperature_sensor.html#a75956fe7aff6e595a9b57519316ff789":[1,2,21,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html":[1,2,22], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html#a1c73725f1f3fbb1c5b72208aae5c2bf2":[1,2,22,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html#a2ef31536973b20815dd6c80a28e19c9f":[1,2,22,2], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html#ab8b7fdd977a0a38413f2279b50274890":[1,2,22,3], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html#ac51f6fecfdf4c7bc8e0712e2da47bbf4":[1,2,22,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html#ae7273cd094f64a93494ae99501fc83e8":[1,2,22,4], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_toggle_controller.html":[1,2,23], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_toggle_controller.html#a7ccd28a4f20922847d0461649af5572d":[1,2,23,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_toggle_controller.html#a7fcc5084fea488e5b5e95f5ad7015a0f":[1,2,23,1], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html":[1,2,24], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html#a2c868c87f96e3924c8b309e1bcfb507e":[1,2,24,0], -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html#a5db8c85f222debbece54c794015f9402":[1,2,24,1] +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.html":[1,2,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.html#a733195bdc5b15c858e4e890847b3a0d5":[1,2,0,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html":[1,2,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html#a0633e5fa2981189f4a093bab00a8c7f1":[1,2,1,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html#a2a96c414210f61de3ce53a4ca8c963b3":[1,2,1,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html#abbaab3067b1fcdcc5928451b818a4420":[1,2,1,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html":[1,2,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html#a92f3b83744b5bb82d32628eef39c1eb9":[1,2,2,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html#ab1123d03d471fad4896eb2960ed41855":[1,2,2,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html#afd8aee20590bfadec181c6ee515125ec":[1,2,2,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html#aff5839c3020c3006af1a2a8c37cc858e":[1,2,2,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html":[1,2,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html#a059ff103149869b7c49cdb8911875b7b":[1,2,3,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html#a3599a6d00eb0f9127a7c1188885c5bc0":[1,2,3,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html":[1,2,4], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html#a0f90d7f5a5b365116f97beca7630ccc9":[1,2,4,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html#a7468976e7fffeee14cc869b7236cbb50":[1,2,4,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html#a7ea9fd9861a5668a41d06267bfbec82a":[1,2,4,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html#a8535c44fd2517ed09ebe6a203cc25b67":[1,2,4,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.html":[1,2,5], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.html#a452a4cfa3177d8d8d31c5919e9ccbb19":[1,2,5,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.html":[3,0,0,7], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.html#a375cda2b0bc05e1a66e3bc29d059d9a7":[3,0,0,7,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.html#a6b536531ab89b39f1a48cb107e22185e":[3,0,0,7,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.html":[1,2,6], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.html#a168f5a4ddcbf381fd548bf10ee05b272":[1,2,6,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html":[1,2,7], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html#a41a5c1506545c44c2408054a8675c7a8":[1,2,7,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html#a4aaa7a29394560be7537a86b0304d199":[1,2,7,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html#a4ad5674e36d96a73147388251b794c82":[1,2,7,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html#aa6c3aabc2b442d82ac5456ccaac3f60d":[1,2,7,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html":[1,2,8], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html#a18f8f71ecf0d7292a63d9486f94e5180":[1,2,8,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html#a973241ac912a18b142d236dda7f80e97":[1,2,8,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller.html":[1,2,9], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller.html#ab24b4858dcc69145a367e964c2ae7961":[1,2,9,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html":[1,2,10], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html#a8fb3fec204da21e69d05f89a9ecb4739":[1,2,10,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html#aee42cc397234a454fd353ca6bc12a859":[1,2,10,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html":[1,2,11], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html#a7af593cbf79d38f6b90efb5afee45077":[1,2,11,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html#afc2620621377fff928737b5a8a537020":[1,2,11,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html":[1,2,12], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html#a41f8465e89d147c08ab8cbc6839d34da":[1,2,12,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html#a6b15ba168b3a673b98da43ac5e4ef76c":[1,2,12,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html#a7c84d5c26f2ded88e4941313015f7f4c":[1,2,12,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html#ada087c948c3ab923bdb7818daa6b2b79":[1,2,12,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.html":[1,2,13], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.html#a9be024aa2bb70f0146a02dd1b79d3faa":[1,2,13,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html":[1,2,14], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html#a4717d892b64a14052712152924bd5b29":[1,2,14,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html#ab5fc79cc8903c3ccc1c106abf61d7cfd":[1,2,14,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html":[1,2,15], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html#a77ac70c4880e38dae4f640dceaeb2816":[1,2,15,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html#adf688c12e451e52b05670f150bdabcc8":[1,2,15,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html#aeef432df118679c689ccd8a48d47dc3d":[1,2,15,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html":[1,2,16], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html#a0685d34694badb4442fed6b69b69b366":[1,2,16,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html#a13b10bdb1844babe4de320fff9172d96":[1,2,16,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html#a2f1f88c7b4d9503bfcfe5557c5e55ed4":[1,2,16,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.html":[1,2,17], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.html#aec04692842ae1953973503f6be6d9afc":[1,2,17,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html":[1,2,18], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html#a32f3257da431a1035f23a265ff0cc4cf":[1,2,18,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html#acfd5f3a30933ace93751bd823630cded":[1,2,18,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html":[1,2,19], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html#a04266791a4b23e9614b8773edb5f67b6":[1,2,19,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html":[1,2,20], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#a1d726751c416fe6dd408e5dd19f6b53b":[1,2,20,4], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#a6d6d8070b49c8b5272460836a1120b33":[1,2,20,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#a94adbcdf6ce61cb6552a5f9915e705ae":[1,2,20,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#aaf84aa417e2246843a27e819898e64b5":[1,2,20,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#ae85696d55112ae7343f9807faee6e064":[1,2,20,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.html":[1,1,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,0,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.html#a733195bdc5b15c858e4e890847b3a0d5":[1,1,0,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html":[1,1,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,1,5], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#a1d726751c416fe6dd408e5dd19f6b53b":[1,1,1,7], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,1,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#a6d6d8070b49c8b5272460836a1120b33":[1,1,1,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#a94adbcdf6ce61cb6552a5f9915e705ae":[1,1,1,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#aaf84aa417e2246843a27e819898e64b5":[1,1,1,6], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#acfd5f3a30933ace93751bd823630cded":[1,1,1,4], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html#ae85696d55112ae7343f9807faee6e064":[1,1,1,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html":[1,1,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,2,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,2,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html#acfd5f3a30933ace93751bd823630cded":[1,1,2,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html":[1,0,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#a1b5b66fb0c539b9b5f5f58a135056c75":[1,0,0,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#a27a9bb7f1e8bde0f39398649493b6f93":[1,0,0,6], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#a37c2d0658e498b1bf878f8a3d9a7c5b4":[1,0,0,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#a654bb017ca55b448d55bb36e0346f38a":[1,0,0,4], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#ab68694b0983ae36c532cbd52adbb180d":[1,0,0,5], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#ac33a355adfc413d4ff36974d735115bd":[1,0,0,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#afb2be26eef972203404140612fa31326":[1,0,0,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.html":[1,1,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,3,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.html#a452a4cfa3177d8d8d31c5919e9ccbb19":[1,1,3,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device.html":[3,0,0,27], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html":[1,1,4], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,4,5], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html#a0685d34694badb4442fed6b69b69b366":[1,1,4,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html#a13b10bdb1844babe4de320fff9172d96":[1,1,4,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html#a2f1f88c7b4d9503bfcfe5557c5e55ed4":[1,1,4,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,4,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html#acfd5f3a30933ace93751bd823630cded":[1,1,4,4], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html":[1,1,5], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,5,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html#a168f5a4ddcbf381fd548bf10ee05b272":[1,1,5,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,5,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html#acfd5f3a30933ace93751bd823630cded":[1,1,5,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html":[1,1,6], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,6,5], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html#a0685d34694badb4442fed6b69b69b366":[1,1,6,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html#a13b10bdb1844babe4de320fff9172d96":[1,1,6,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html#a2f1f88c7b4d9503bfcfe5557c5e55ed4":[1,1,6,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,6,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html#acfd5f3a30933ace93751bd823630cded":[1,1,6,4], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html":[1,1,7], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,7,5], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#a1d726751c416fe6dd408e5dd19f6b53b":[1,1,7,7], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,7,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#a6d6d8070b49c8b5272460836a1120b33":[1,1,7,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#a94adbcdf6ce61cb6552a5f9915e705ae":[1,1,7,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#aaf84aa417e2246843a27e819898e64b5":[1,1,7,6], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#acfd5f3a30933ace93751bd823630cded":[1,1,7,4], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html#ae85696d55112ae7343f9807faee6e064":[1,1,7,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html":[1,1,8], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,8,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html#a375cda2b0bc05e1a66e3bc29d059d9a7":[1,1,8,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html#a6b536531ab89b39f1a48cb107e22185e":[1,1,8,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html":[1,1,9], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,9,11], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a059ff103149869b7c49cdb8911875b7b":[1,1,9,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a0633e5fa2981189f4a093bab00a8c7f1":[1,1,9,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a0f90d7f5a5b365116f97beca7630ccc9":[1,1,9,9], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a2a96c414210f61de3ce53a4ca8c963b3":[1,1,9,7], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,9,6], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a3599a6d00eb0f9127a7c1188885c5bc0":[1,1,9,8], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a7468976e7fffeee14cc869b7236cbb50":[1,1,9,4], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a7ea9fd9861a5668a41d06267bfbec82a":[1,1,9,5], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#a8535c44fd2517ed09ebe6a203cc25b67":[1,1,9,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#abbaab3067b1fcdcc5928451b818a4420":[1,1,9,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html#acfd5f3a30933ace93751bd823630cded":[1,1,9,10], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html":[1,1,10], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,10,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html#a8fb3fec204da21e69d05f89a9ecb4739":[1,1,10,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html#aee42cc397234a454fd353ca6bc12a859":[1,1,10,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.html":[1,1,11], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,11,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.html#a9be024aa2bb70f0146a02dd1b79d3faa":[1,1,11,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.html":[1,1,12], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,12,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.html#aec04692842ae1953973503f6be6d9afc":[1,1,12,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html":[1,1,13], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,13,17], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a18f8f71ecf0d7292a63d9486f94e5180":[1,1,13,6], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a2c868c87f96e3924c8b309e1bcfb507e":[1,1,13,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,13,4], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a41a5c1506545c44c2408054a8675c7a8":[1,1,13,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a41f8465e89d147c08ab8cbc6839d34da":[1,1,13,14], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a4717d892b64a14052712152924bd5b29":[1,1,13,15], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a4aaa7a29394560be7537a86b0304d199":[1,1,13,7], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a4ad5674e36d96a73147388251b794c82":[1,1,13,11], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a5db8c85f222debbece54c794015f9402":[1,1,13,10], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a6b15ba168b3a673b98da43ac5e4ef76c":[1,1,13,8], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a7af593cbf79d38f6b90efb5afee45077":[1,1,13,12], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a7c84d5c26f2ded88e4941313015f7f4c":[1,1,13,13], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#a973241ac912a18b142d236dda7f80e97":[1,1,13,18], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#aa2d3dbea5b07e4c5f39d3d20aa2167a4":[1,1,13,19], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#aa6c3aabc2b442d82ac5456ccaac3f60d":[1,1,13,5], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#ab5fc79cc8903c3ccc1c106abf61d7cfd":[1,1,13,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#acfd5f3a30933ace93751bd823630cded":[1,1,13,16], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#ada087c948c3ab923bdb7818daa6b2b79":[1,1,13,9], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html#afc2620621377fff928737b5a8a537020":[1,1,13,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html":[1,1,14], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,14,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,14,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html#acfd5f3a30933ace93751bd823630cded":[1,1,14,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html":[1,1,17], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,17,13], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a18f8f71ecf0d7292a63d9486f94e5180":[1,1,17,6], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a2c868c87f96e3924c8b309e1bcfb507e":[1,1,17,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,17,5], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a4717d892b64a14052712152924bd5b29":[1,1,17,11], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a5db8c85f222debbece54c794015f9402":[1,1,17,7], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a7af593cbf79d38f6b90efb5afee45077":[1,1,17,10], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a92f3b83744b5bb82d32628eef39c1eb9":[1,1,17,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#a973241ac912a18b142d236dda7f80e97":[1,1,17,14], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#aa2d3dbea5b07e4c5f39d3d20aa2167a4":[1,1,17,15], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#ab1123d03d471fad4896eb2960ed41855":[1,1,17,8], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#ab5fc79cc8903c3ccc1c106abf61d7cfd":[1,1,17,4], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#acfd5f3a30933ace93751bd823630cded":[1,1,17,12], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#afc2620621377fff928737b5a8a537020":[1,1,17,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#afd8aee20590bfadec181c6ee515125ec":[1,1,17,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html#aff5839c3020c3006af1a2a8c37cc858e":[1,1,17,9], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.html":[1,1,15], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,15,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.html#a75956fe7aff6e595a9b57519316ff789":[1,1,15,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html":[1,1,16], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,16,5], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#a1c73725f1f3fbb1c5b72208aae5c2bf2":[1,1,16,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#a2ef31536973b20815dd6c80a28e19c9f":[1,1,16,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,16,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#a75956fe7aff6e595a9b57519316ff789":[1,1,16,7], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#ab8b7fdd977a0a38413f2279b50274890":[1,1,16,6], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#ac51f6fecfdf4c7bc8e0712e2da47bbf4":[1,1,16,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#acfd5f3a30933ace93751bd823630cded":[1,1,16,4], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html#ae7273cd094f64a93494ae99501fc83e8":[1,1,16,8], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html":[1,1,18], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a04266791a4b23e9614b8773edb5f67b6":[1,1,18,8], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a1c73725f1f3fbb1c5b72208aae5c2bf2":[1,1,18,5], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a1d726751c416fe6dd408e5dd19f6b53b":[1,1,18,10], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a2ef31536973b20815dd6c80a28e19c9f":[1,1,18,6], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a32f3257da431a1035f23a265ff0cc4cf":[1,1,18,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a6d6d8070b49c8b5272460836a1120b33":[1,1,18,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#a94adbcdf6ce61cb6552a5f9915e705ae":[1,1,18,4], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#aaf84aa417e2246843a27e819898e64b5":[1,1,18,9], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#ab8b7fdd977a0a38413f2279b50274890":[1,1,18,11], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#ac51f6fecfdf4c7bc8e0712e2da47bbf4":[1,1,18,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#acfd5f3a30933ace93751bd823630cded":[1,1,18,7], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#ae7273cd094f64a93494ae99501fc83e8":[1,1,18,12], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html#ae85696d55112ae7343f9807faee6e064":[1,1,18,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html":[1,2,21], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html#a75956fe7aff6e595a9b57519316ff789":[1,2,21,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html":[1,2,22], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#a1c73725f1f3fbb1c5b72208aae5c2bf2":[1,2,22,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#a2ef31536973b20815dd6c80a28e19c9f":[1,2,22,2], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#ab8b7fdd977a0a38413f2279b50274890":[1,2,22,3], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#ac51f6fecfdf4c7bc8e0712e2da47bbf4":[1,2,22,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#ae7273cd094f64a93494ae99501fc83e8":[1,2,22,4], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.html":[1,2,23], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.html#a7ccd28a4f20922847d0461649af5572d":[1,2,23,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.html#a7fcc5084fea488e5b5e95f5ad7015a0f":[1,2,23,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html":[1,2,24], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html#a2c868c87f96e3924c8b309e1bcfb507e":[1,2,24,0], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html#a5db8c85f222debbece54c794015f9402":[1,2,24,1], +"class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html#aa2d3dbea5b07e4c5f39d3d20aa2167a4":[1,2,24,2], +"classes.html":[3,1], +"functions.html":[3,3,0], +"functions_func.html":[3,3,1], +"group___capabilities.html":[1,2], +"group___devices.html":[1,1], +"group___sinric_pro.html":[1,0], +"hierarchy.html":[3,2], +"index.html":[0], +"index.html":[] }; diff --git a/docs/navtreeindex1.js b/docs/navtreeindex1.js index 116b7fe..5856395 100644 --- a/docs/navtreeindex1.js +++ b/docs/navtreeindex1.js @@ -1,15 +1,5 @@ var NAVTREEINDEX1 = { -"class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html#aa2d3dbea5b07e4c5f39d3d20aa2167a4":[1,2,24,2], -"classes.html":[3,1], -"functions.html":[3,3,0], -"functions_func.html":[3,3,1], -"group___capabilities.html":[1,2], -"group___devices.html":[1,1], -"group___sinric_pro.html":[1,0], -"hierarchy.html":[3,2], -"index.html":[0], -"index.html":[], "index.html#autotoc_md1":[0,0], "index.html#autotoc_md10":[0,4], "index.html#autotoc_md12":[0,5], @@ -28,8 +18,8 @@ var NAVTREEINDEX1 = "index.html#autotoc_md4":[0,1,1], "index.html#autotoc_md6":[0,2], "index.html#autotoc_md8":[0,3], -"modules.html":[1], "namespacemembers.html":[2,0], "namespacemembers_type.html":[2,1], -"pages.html":[] +"pages.html":[], +"topics.html":[1] }; diff --git a/docs/plus.svg b/docs/plus.svg new file mode 100644 index 0000000..0752016 --- /dev/null +++ b/docs/plus.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/plusd.svg b/docs/plusd.svg new file mode 100644 index 0000000..0c65bfe --- /dev/null +++ b/docs/plusd.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/resize.js b/docs/resize.js index e1ad0fe..aaeb6fc 100644 --- a/docs/resize.js +++ b/docs/resize.js @@ -22,38 +22,45 @@ @licend The above is the entire license notice for the JavaScript code in this file */ +var once=1; function initResizable() { var cookie_namespace = 'doxygen'; - var sidenav,navtree,content,header,collapsed,collapsedWidth=0,barWidth=6,desktop_vp=768,titleHeight; + var sidenav,navtree,content,header,barWidth=6,desktop_vp=768,titleHeight; - function readCookie(cookie) + function readSetting(cookie) { - var myCookie = cookie_namespace+"_"+cookie+"="; - if (document.cookie) { - var index = document.cookie.indexOf(myCookie); - if (index != -1) { - var valStart = index + myCookie.length; - var valEnd = document.cookie.indexOf(";", valStart); - if (valEnd == -1) { - valEnd = document.cookie.length; + if (window.chrome) { + var val = localStorage.getItem(cookie_namespace+'_width'); + if (val) return val; + } else { + var myCookie = cookie_namespace+"_"+cookie+"="; + if (document.cookie) { + var index = document.cookie.indexOf(myCookie); + if (index != -1) { + var valStart = index + myCookie.length; + var valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + var val = document.cookie.substring(valStart, valEnd); + return val; } - var val = document.cookie.substring(valStart, valEnd); - return val; } } - return 0; + return 250; } - function writeCookie(cookie, val, expiration) + function writeSetting(cookie, val) { - if (val==undefined) return; - if (expiration == null) { + if (window.chrome) { + localStorage.setItem(cookie_namespace+"_width",val); + } else { var date = new Date(); date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week expiration = date.toGMTString(); + document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; SameSite=Lax; expires=" + expiration+"; path=/"; } - document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/"; } function resizeWidth() @@ -61,13 +68,19 @@ function initResizable() var windowWidth = $(window).width() + "px"; var sidenavWidth = $(sidenav).outerWidth(); content.css({marginLeft:parseInt(sidenavWidth)+"px"}); - writeCookie('width',sidenavWidth-barWidth, null); + if (typeof page_layout!=='undefined' && page_layout==1) { + footer.css({marginLeft:parseInt(sidenavWidth)+"px"}); + } + writeSetting('width',sidenavWidth-barWidth); } function restoreWidth(navWidth) { var windowWidth = $(window).width() + "px"; content.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); + if (typeof page_layout!=='undefined' && page_layout==1) { + footer.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); + } sidenav.css({width:navWidth + "px"}); } @@ -75,23 +88,20 @@ function initResizable() { var headerHeight = header.outerHeight(); var footerHeight = footer.outerHeight(); - var windowHeight = $(window).height() - headerHeight - footerHeight; - content.css({height:windowHeight + "px"}); - navtree.css({height:windowHeight + "px"}); - sidenav.css({height:windowHeight + "px"}); - var width=$(window).width(); - if (width!=collapsedWidth) { - if (width=desktop_vp) { - if (!collapsed) { - collapseExpand(); - } - } else if (width>desktop_vp && collapsedWidth0) { - restoreWidth(0); - collapsed=true; + newWidth=0; } else { - var width = readCookie('width'); - if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); } - collapsed=false; + var width = readSetting('width'); + newWidth = (width>250 && width<$(window).width()) ? width : 250; } + restoreWidth(newWidth); + var sidenavWidth = $(sidenav).outerWidth(); + writeSetting('width',sidenavWidth-barWidth); } header = $("#top"); @@ -126,7 +138,7 @@ function initResizable() $('#nav-sync').css({ right:'34px' }); barWidth=20; } - var width = readCookie('width'); + var width = readSetting('width'); if (width) { restoreWidth(width); } else { resizeWidth(); } resizeHeight(); var url = location.href; @@ -134,7 +146,10 @@ function initResizable() if (i>=0) window.location.hash=url.substr(i); var _preventDefault = function(evt) { evt.preventDefault(); }; $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); - $(".ui-resizable-handle").dblclick(collapseExpand); + if (once) { + $(".ui-resizable-handle").dblclick(collapseExpand); + once=0 + } $(window).on('load',resizeHeight); } /* @license-end */ diff --git a/docs/search/all_0.js b/docs/search/all_0.js index 3c159a0..aacd505 100644 --- a/docs/search/all_0.js +++ b/docs/search/all_0.js @@ -1,12 +1,19 @@ var searchData= [ - ['adjustbandscallback_0',['AdjustBandsCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a28446c362f1f44e269b50619761c9e9b',1,'SINRICPRO_2_9_17']]], - ['adjustbrightnesscallback_1',['AdjustBrightnessCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a3ff8d93d9483f41bf8504fd3e9cc8f49',1,'SINRICPRO_2_9_17']]], - ['adjustpercentagecallback_2',['AdjustPercentageCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a088a491b8656c376085bc31d558fd05d',1,'SINRICPRO_2_9_17']]], - ['adjustpowerlevelcallback_3',['AdjustPowerLevelCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a3ec3aad26d06f5b943a6906e11afc1f3',1,'SINRICPRO_2_9_17']]], - ['adjustrangevaluecallback_4',['AdjustRangeValueCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a2ba46d8544d48aee620fff9a930c01ff',1,'SINRICPRO_2_9_17']]], - ['adjusttargettemperaturecallback_5',['AdjustTargetTemperatureCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a8d55dffbb520779ef95fc29e49032886',1,'SINRICPRO_2_9_17']]], - ['adjustvolumecallback_6',['AdjustVolumeCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#ac6304129491317f85cee56ca5925dfab',1,'SINRICPRO_2_9_17']]], - ['airqualitysensor_7',['AirQualitySensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_air_quality_sensor.html',1,'SINRICPRO_2_9_17']]], - ['airqualitysensor_3c_20sinricproairqualitysensor_20_3e_8',['AirQualitySensor< SinricProAirQualitySensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_air_quality_sensor.html',1,'SINRICPRO_2_9_17']]] + ['a_20device_0',['How to add a device?',['../index.html#autotoc_md19',1,'']]], + ['a_20device_20for_20sending_20an_20event_1',['How to retrieve a device for sending an event?',['../index.html#autotoc_md21',1,'']]], + ['a_20push_20notification_2',['How to send a push notification?',['../index.html#autotoc_md22',1,'']]], + ['add_20a_20device_3',['How to add a device?',['../index.html#autotoc_md19',1,'']]], + ['adjustbandscallback_4',['AdjustBandsCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a28446c362f1f44e269b50619761c9e9b',1,'SINRICPRO_3_0_0']]], + ['adjustbrightnesscallback_5',['AdjustBrightnessCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a3ff8d93d9483f41bf8504fd3e9cc8f49',1,'SINRICPRO_3_0_0']]], + ['adjustpercentagecallback_6',['AdjustPercentageCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a088a491b8656c376085bc31d558fd05d',1,'SINRICPRO_3_0_0']]], + ['adjustpowerlevelcallback_7',['AdjustPowerLevelCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a3ec3aad26d06f5b943a6906e11afc1f3',1,'SINRICPRO_3_0_0']]], + ['adjustrangevaluecallback_8',['AdjustRangeValueCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a2ba46d8544d48aee620fff9a930c01ff',1,'SINRICPRO_3_0_0']]], + ['adjusttargettemperaturecallback_9',['AdjustTargetTemperatureCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a8d55dffbb520779ef95fc29e49032886',1,'SINRICPRO_3_0_0']]], + ['adjustvolumecallback_10',['AdjustVolumeCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ac6304129491317f85cee56ca5925dfab',1,'SINRICPRO_3_0_0']]], + ['airqualitysensor_11',['AirQualitySensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.html',1,'SINRICPRO_3_0_0']]], + ['airqualitysensor_3c_20sinricproairqualitysensor_20_3e_12',['AirQualitySensor< SinricProAirQualitySensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.html',1,'SINRICPRO_3_0_0']]], + ['an_20event_13',['How to retrieve a device for sending an event?',['../index.html#autotoc_md21',1,'']]], + ['and_20sinricpro_20device_20libraries_20eg_20sinricproswitch_20h_14',['Include SinricPro-Library (SinricPro.h) and SinricPro-Device-Libraries (eg. SinricProSwitch.h)',['../index.html#autotoc_md13',1,'']]], + ['arduinoide_15',['ArduinoIDE',['../index.html#autotoc_md4',1,'']]] ]; diff --git a/docs/search/all_1.js b/docs/search/all_1.js index f07d733..5d98904 100644 --- a/docs/search/all_1.js +++ b/docs/search/all_1.js @@ -1,7 +1,7 @@ var searchData= [ - ['begin_9',['begin',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#a1b5b66fb0c539b9b5f5f58a135056c75',1,'SINRICPRO_2_9_17::SinricProClass']]], - ['brightnesscallback_10',['BrightnessCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#aff9938ddc803e4339a3db9b31503e12d',1,'SINRICPRO_2_9_17']]], - ['brightnesscontroller_11',['BrightnessController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller.html',1,'SINRICPRO_2_9_17']]], - ['brightnesscontroller_3c_20sinricprolight_20_3e_12',['BrightnessController< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller.html',1,'SINRICPRO_2_9_17']]] + ['begin_0',['begin',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#a1b5b66fb0c539b9b5f5f58a135056c75',1,'SINRICPRO_3_0_0::SinricProClass']]], + ['brightnesscallback_1',['BrightnessCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#aff9938ddc803e4339a3db9b31503e12d',1,'SINRICPRO_3_0_0']]], + ['brightnesscontroller_2',['BrightnessController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html',1,'SINRICPRO_3_0_0']]], + ['brightnesscontroller_3c_20sinricprolight_20_3e_3',['BrightnessController< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/all_10.js b/docs/search/all_10.js index 576917a..fe212cd 100644 --- a/docs/search/all_10.js +++ b/docs/search/all_10.js @@ -1,6 +1,68 @@ var searchData= [ - ['volumecontroller_217',['VolumeController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html',1,'SINRICPRO_2_9_17']]], - ['volumecontroller_3c_20sinricprospeaker_20_3e_218',['VolumeController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html',1,'SINRICPRO_2_9_17']]], - ['volumecontroller_3c_20sinricprotv_20_3e_219',['VolumeController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html',1,'SINRICPRO_2_9_17']]] + ['s_0',['Define callback routine(s)',['../index.html#autotoc_md15',1,'']]], + ['selectinputcallback_1',['SelectInputCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a2f7a91a480cd401f4df2f7ddda4a8f13',1,'SINRICPRO_3_0_0']]], + ['send_20a_20push_20notification_2',['How to send a push notification?',['../index.html#autotoc_md22',1,'']]], + ['sendairqualityevent_3',['sendAirQualityEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.html#a733195bdc5b15c858e4e890847b3a0d5',1,'SINRICPRO_3_0_0::AirQualitySensor']]], + ['sendbandsevent_4',['sendBandsEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html#a4ad5674e36d96a73147388251b794c82',1,'SINRICPRO_3_0_0::EqualizerController']]], + ['sendbrightnessevent_5',['sendBrightnessEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html#a2a96c414210f61de3ce53a4ca8c963b3',1,'SINRICPRO_3_0_0::BrightnessController']]], + ['sendchangechannelevent_6',['sendChangeChannelEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html#aff5839c3020c3006af1a2a8c37cc858e',1,'SINRICPRO_3_0_0::ChannelController']]], + ['sendcolorevent_7',['sendColorEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html#a3599a6d00eb0f9127a7c1188885c5bc0',1,'SINRICPRO_3_0_0::ColorController']]], + ['sendcolortemperatureevent_8',['sendColorTemperatureEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html#a0f90d7f5a5b365116f97beca7630ccc9',1,'SINRICPRO_3_0_0::ColorTemperatureController']]], + ['sendcontactevent_9',['sendContactEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.html#a452a4cfa3177d8d8d31c5919e9ccbb19',1,'SINRICPRO_3_0_0::ContactSensor']]], + ['senddoorbellevent_10',['sendDoorbellEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.html#a168f5a4ddcbf381fd548bf10ee05b272',1,'SINRICPRO_3_0_0::Doorbell']]], + ['senddoorstateevent_11',['sendDoorStateEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.html#a375cda2b0bc05e1a66e3bc29d059d9a7',1,'SINRICPRO_3_0_0::DoorController']]], + ['sending_20an_20event_12',['How to retrieve a device for sending an event?',['../index.html#autotoc_md21',1,'']]], + ['sendlockstateevent_13',['sendLockStateEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html#a8fb3fec204da21e69d05f89a9ecb4739',1,'SINRICPRO_3_0_0::LockController']]], + ['sendmediacontrolevent_14',['sendMediaControlEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html#a7af593cbf79d38f6b90efb5afee45077',1,'SINRICPRO_3_0_0::MediaController']]], + ['sendmodeevent_15',['sendmodeevent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html#a41f8465e89d147c08ab8cbc6839d34da',1,'SINRICPRO_3_0_0::ModeController::sendModeEvent(String mode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)'],['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html#a7c84d5c26f2ded88e4941313015f7f4c',1,'SINRICPRO_3_0_0::ModeController::sendModeEvent(String instance, String mode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)']]], + ['sendmotionevent_16',['sendMotionEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.html#a9be024aa2bb70f0146a02dd1b79d3faa',1,'SINRICPRO_3_0_0::MotionSensor']]], + ['sendmuteevent_17',['sendMuteEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html#a4717d892b64a14052712152924bd5b29',1,'SINRICPRO_3_0_0::MuteController']]], + ['sendpowerlevelevent_18',['sendPowerLevelEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html#a2f1f88c7b4d9503bfcfe5557c5e55ed4',1,'SINRICPRO_3_0_0::PowerLevelController']]], + ['sendpowersensorevent_19',['sendPowerSensorEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.html#aec04692842ae1953973503f6be6d9afc',1,'SINRICPRO_3_0_0::PowerSensor']]], + ['sendpowerstateevent_20',['sendPowerStateEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html#acfd5f3a30933ace93751bd823630cded',1,'SINRICPRO_3_0_0::PowerStateController']]], + ['sendpushnotification_21',['sendPushNotification',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html#a04266791a4b23e9614b8773edb5f67b6',1,'SINRICPRO_3_0_0::PushNotification']]], + ['sendrangevalueevent_22',['sendrangevalueevent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#a1d726751c416fe6dd408e5dd19f6b53b',1,'SINRICPRO_3_0_0::RangeController::sendRangeValueEvent(int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)'],['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#aaf84aa417e2246843a27e819898e64b5',1,'SINRICPRO_3_0_0::RangeController::sendRangeValueEvent(const String &instance, int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)']]], + ['sendselectinputevent_23',['sendSelectInputEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html#a973241ac912a18b142d236dda7f80e97',1,'SINRICPRO_3_0_0::InputController']]], + ['sendsetpercentageevent_24',['sendSetPercentageEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html#adf688c12e451e52b05670f150bdabcc8',1,'SINRICPRO_3_0_0::PercentageController']]], + ['sendtargettemperatureevent_25',['sendTargetTemperatureEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#ab8b7fdd977a0a38413f2279b50274890',1,'SINRICPRO_3_0_0::ThermostatController']]], + ['sendtemperatureevent_26',['sendTemperatureEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html#a75956fe7aff6e595a9b57519316ff789',1,'SINRICPRO_3_0_0::TemperatureSensor']]], + ['sendthermostatmodeevent_27',['sendThermostatModeEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#ae7273cd094f64a93494ae99501fc83e8',1,'SINRICPRO_3_0_0::ThermostatController']]], + ['sendtogglestateevent_28',['sendToggleStateEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.html#a7fcc5084fea488e5b5e95f5ad7015a0f',1,'SINRICPRO_3_0_0::ToggleController']]], + ['sendvolumeevent_29',['sendVolumeEvent',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html#aa2d3dbea5b07e4c5f39d3d20aa2167a4',1,'SINRICPRO_3_0_0::VolumeController']]], + ['setbandscallback_30',['SetBandsCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#aaabec5dea3546d52e744a4b0b90c02f4',1,'SINRICPRO_3_0_0']]], + ['setpercentagecallback_31',['SetPercentageCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a3ab0c4ff332f49884fe6a75cb2a293c2',1,'SINRICPRO_3_0_0']]], + ['setpowerlevelcallback_32',['SetPowerLevelCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a5be6c20c0ba9e9b19bd76d42918451b2',1,'SINRICPRO_3_0_0']]], + ['settargettemperaturecallback_33',['SetTargetTemperatureCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a64ecf52eb927d219b3acabf01ad0d31f',1,'SINRICPRO_3_0_0']]], + ['setup_34',['In setup()',['../index.html#autotoc_md16',1,'']]], + ['setvolumecallback_35',['SetVolumeCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a5744ad6a31085c216c2193b0f2d86673',1,'SINRICPRO_3_0_0']]], + ['sinric_20pro_36',['Define your credentials from SinricPro-Portal (portal.sinric.pro)',['../index.html#autotoc_md14',1,'']]], + ['sinricpro_37',['SinricPro',['../group___sinric_pro.html',1,'']]], + ['sinricpro_20esp8266_20esp32_20rp2040_38',['SinricPro (ESP8266 / ESP32 / RP2040)',['../index.html',1,'']]], + ['sinricpro_20library_20sinricpro_20h_20and_20sinricpro_20device_20libraries_20eg_20sinricproswitch_20h_39',['Include SinricPro-Library (SinricPro.h) and SinricPro-Device-Libraries (eg. SinricProSwitch.h)',['../index.html#autotoc_md13',1,'']]], + ['sinricpro_20portal_20portal_20sinric_20pro_40',['Define your credentials from SinricPro-Portal (portal.sinric.pro)',['../index.html#autotoc_md14',1,'']]], + ['sinricpro_5f3_5f0_5f0_41',['SINRICPRO_3_0_0',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html',1,'']]], + ['sinricproairqualitysensor_42',['SinricProAirQualitySensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.html',1,'SINRICPRO_3_0_0']]], + ['sinricproblinds_43',['SinricProBlinds',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html',1,'SINRICPRO_3_0_0']]], + ['sinricprocamera_44',['SinricProCamera',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html',1,'SINRICPRO_3_0_0']]], + ['sinricproclass_45',['SinricProClass',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html',1,'SINRICPRO_3_0_0']]], + ['sinricprocontactsensor_46',['SinricProContactsensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.html',1,'SINRICPRO_3_0_0']]], + ['sinricprodevice_47',['SinricProDevice',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device.html',1,'SINRICPRO_3_0_0']]], + ['sinricprodimswitch_48',['SinricProDimSwitch',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html',1,'SINRICPRO_3_0_0']]], + ['sinricprodoorbell_49',['SinricProDoorbell',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html',1,'SINRICPRO_3_0_0']]], + ['sinricprofan_50',['SinricProFan',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html',1,'SINRICPRO_3_0_0']]], + ['sinricprofanus_51',['SinricProFanUS',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html',1,'SINRICPRO_3_0_0']]], + ['sinricprogaragedoor_52',['SinricProGarageDoor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html',1,'SINRICPRO_3_0_0']]], + ['sinricprolight_53',['SinricProLight',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html',1,'SINRICPRO_3_0_0']]], + ['sinricprolock_54',['SinricProLock',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html',1,'SINRICPRO_3_0_0']]], + ['sinricpromotionsensor_55',['SinricProMotionsensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.html',1,'SINRICPRO_3_0_0']]], + ['sinricpropowersensor_56',['SinricProPowerSensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.html',1,'SINRICPRO_3_0_0']]], + ['sinricprospeaker_57',['SinricProSpeaker',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html',1,'SINRICPRO_3_0_0']]], + ['sinricproswitch_58',['SinricProSwitch',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html',1,'SINRICPRO_3_0_0']]], + ['sinricproswitch_20h_59',['Include SinricPro-Library (SinricPro.h) and SinricPro-Device-Libraries (eg. SinricProSwitch.h)',['../index.html#autotoc_md13',1,'']]], + ['sinricprotemperaturesensor_60',['SinricProTemperaturesensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.html',1,'SINRICPRO_3_0_0']]], + ['sinricprothermostat_61',['SinricProThermostat',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html',1,'SINRICPRO_3_0_0']]], + ['sinricprotv_62',['SinricProTV',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html',1,'SINRICPRO_3_0_0']]], + ['sinricprowindowac_63',['SinricProWindowAC',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html',1,'SINRICPRO_3_0_0']]], + ['skipchannelscallback_64',['SkipChannelsCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a434616b976d1339be63540d16977fa3d',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/all_11.js b/docs/search/all_11.js new file mode 100644 index 0000000..3b5e2da --- /dev/null +++ b/docs/search/all_11.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['temperaturesensor_0',['TemperatureSensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html',1,'SINRICPRO_3_0_0']]], + ['temperaturesensor_3c_20sinricprotemperaturesensor_20_3e_1',['TemperatureSensor< SinricProTemperaturesensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html',1,'SINRICPRO_3_0_0']]], + ['temperaturesensor_3c_20sinricprothermostat_20_3e_2',['TemperatureSensor< SinricProThermostat >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html',1,'SINRICPRO_3_0_0']]], + ['thermostatcontroller_3',['ThermostatController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html',1,'SINRICPRO_3_0_0']]], + ['thermostatcontroller_3c_20sinricprothermostat_20_3e_4',['ThermostatController< SinricProThermostat >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html',1,'SINRICPRO_3_0_0']]], + ['thermostatcontroller_3c_20sinricprowindowac_20_3e_5',['ThermostatController< SinricProWindowAC >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html',1,'SINRICPRO_3_0_0']]], + ['thermostatmodecallback_6',['ThermostatModeCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a6cb473352a45a2ae76a46a4292c95a8c',1,'SINRICPRO_3_0_0']]], + ['to_20add_20a_20device_7',['How to add a device?',['../index.html#autotoc_md19',1,'']]], + ['to_20retrieve_20a_20device_20for_20sending_20an_20event_8',['How to retrieve a device for sending an event?',['../index.html#autotoc_md21',1,'']]], + ['to_20send_20a_20push_20notification_9',['How to send a push notification?',['../index.html#autotoc_md22',1,'']]], + ['togglecontroller_10',['ToggleController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.html',1,'SINRICPRO_3_0_0']]] +]; diff --git a/docs/search/all_12.js b/docs/search/all_12.js new file mode 100644 index 0000000..2bc5c6b --- /dev/null +++ b/docs/search/all_12.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['usage_0',['Usage',['../index.html#autotoc_md12',1,'']]], + ['user_20documentation_1',['Full user documentation',['../index.html#autotoc_md8',1,'']]] +]; diff --git a/docs/search/all_13.js b/docs/search/all_13.js new file mode 100644 index 0000000..92b0d16 --- /dev/null +++ b/docs/search/all_13.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['volumecontroller_0',['VolumeController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html',1,'SINRICPRO_3_0_0']]], + ['volumecontroller_3c_20sinricprospeaker_20_3e_1',['VolumeController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html',1,'SINRICPRO_3_0_0']]], + ['volumecontroller_3c_20sinricprotv_20_3e_2',['VolumeController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html',1,'SINRICPRO_3_0_0']]], + ['vs_20code_20platformio_3a_3',['VS Code & PlatformIO:',['../index.html#autotoc_md3',1,'']]] +]; diff --git a/docs/search/all_14.js b/docs/search/all_14.js new file mode 100644 index 0000000..55966e6 --- /dev/null +++ b/docs/search/all_14.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['your_20credentials_20from_20sinricpro_20portal_20portal_20sinric_20pro_0',['Define your credentials from SinricPro-Portal (portal.sinric.pro)',['../index.html#autotoc_md14',1,'']]] +]; diff --git a/docs/search/all_2.js b/docs/search/all_2.js index c7bb170..858aa73 100644 --- a/docs/search/all_2.js +++ b/docs/search/all_2.js @@ -1,17 +1,22 @@ var searchData= [ - ['capabilities_13',['Capabilities',['../group___capabilities.html',1,'']]], - ['changechannelcallback_14',['ChangeChannelCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a8bc108630d532266ae36cda5ec7b4857',1,'SINRICPRO_2_9_17']]], - ['changechannelnumbercallback_15',['ChangeChannelNumberCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#ab21b05b6f4a6be7e89a7173b7fafb552',1,'SINRICPRO_2_9_17']]], - ['channelcontroller_16',['ChannelController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html',1,'SINRICPRO_2_9_17']]], - ['channelcontroller_3c_20sinricprotv_20_3e_17',['ChannelController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html',1,'SINRICPRO_2_9_17']]], - ['colorcallback_18',['ColorCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#ad8bcf09f6da3f41fffb001868cd3f84e',1,'SINRICPRO_2_9_17']]], - ['colorcontroller_19',['ColorController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_controller.html',1,'SINRICPRO_2_9_17']]], - ['colorcontroller_3c_20sinricprolight_20_3e_20',['ColorController< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_controller.html',1,'SINRICPRO_2_9_17']]], - ['colortemperaturecallback_21',['ColorTemperatureCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a9828094e72d45dc55a1023fd677f0cc5',1,'SINRICPRO_2_9_17']]], - ['colortemperaturecontroller_22',['ColorTemperatureController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html',1,'SINRICPRO_2_9_17']]], - ['colortemperaturecontroller_3c_20sinricprolight_20_3e_23',['ColorTemperatureController< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html',1,'SINRICPRO_2_9_17']]], - ['connectedcallbackhandler_24',['ConnectedCallbackHandler',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#af256b98e6806c944c9c386821a45d01e',1,'SINRICPRO_2_9_17']]], - ['contactsensor_25',['ContactSensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_contact_sensor.html',1,'SINRICPRO_2_9_17']]], - ['contactsensor_3c_20sinricprocontactsensor_20_3e_26',['ContactSensor< SinricProContactsensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_contact_sensor.html',1,'SINRICPRO_2_9_17']]] + ['callback_20routine_20s_0',['Define callback routine(s)',['../index.html#autotoc_md15',1,'']]], + ['capabilities_1',['Capabilities',['../group___capabilities.html',1,'']]], + ['changechannelcallback_2',['ChangeChannelCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a8bc108630d532266ae36cda5ec7b4857',1,'SINRICPRO_3_0_0']]], + ['changechannelnumbercallback_3',['ChangeChannelNumberCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ab21b05b6f4a6be7e89a7173b7fafb552',1,'SINRICPRO_3_0_0']]], + ['channelcontroller_4',['ChannelController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html',1,'SINRICPRO_3_0_0']]], + ['channelcontroller_3c_20sinricprotv_20_3e_5',['ChannelController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html',1,'SINRICPRO_3_0_0']]], + ['code_6',['code',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#operator',1,'[] Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#PowerStateCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#SetRangeValueCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#GenericSetRangeValueCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#AdjustRangeValueCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#GenericAdjustRangeValueCallback',1,'Example-Code'],['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#handle',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ThermostatModeCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#TargetTemperatureCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#AdjustTargetTemperatureCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ToggleStateCallback',1,'Example-Code'],['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#onConnected',1,'Example-Code'],['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#onDisconnected',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#SetVolumeCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#AdjustVolumeCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ColorTemperatureCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#BrightnessCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#AdjustBrightnessCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ChangeChannel',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ChangeChannelNumber',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#SkipChannels',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ColorCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#SelectInput',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#IncreaseColorTemperatureCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#DecreaseColorTemperatureCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#DoorStateCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#SetBandsCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#AdjustBandsCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ResetBandsCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#KeystrokeCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#LockStateCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#MediaControlCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ModeCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#GenericModeCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#MuteCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#SetPercentageCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#AdjustPercentageCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#SetPowerLevelCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#AdjustPowerLevelCallback',1,'Example-Code']]], + ['code_20platformio_3a_7',['VS Code & PlatformIO:',['../index.html#autotoc_md3',1,'']]], + ['colorcallback_8',['ColorCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ad8bcf09f6da3f41fffb001868cd3f84e',1,'SINRICPRO_3_0_0']]], + ['colorcontroller_9',['ColorController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html',1,'SINRICPRO_3_0_0']]], + ['colorcontroller_3c_20sinricprolight_20_3e_10',['ColorController< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html',1,'SINRICPRO_3_0_0']]], + ['colortemperaturecallback_11',['ColorTemperatureCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a9828094e72d45dc55a1023fd677f0cc5',1,'SINRICPRO_3_0_0']]], + ['colortemperaturecontroller_12',['ColorTemperatureController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html',1,'SINRICPRO_3_0_0']]], + ['colortemperaturecontroller_3c_20sinricprolight_20_3e_13',['ColorTemperatureController< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html',1,'SINRICPRO_3_0_0']]], + ['connectedcallbackhandler_14',['ConnectedCallbackHandler',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#af256b98e6806c944c9c386821a45d01e',1,'SINRICPRO_3_0_0']]], + ['contactsensor_15',['ContactSensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.html',1,'SINRICPRO_3_0_0']]], + ['contactsensor_3c_20sinricprocontactsensor_20_3e_16',['ContactSensor< SinricProContactsensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.html',1,'SINRICPRO_3_0_0']]], + ['credentials_20from_20sinricpro_20portal_20portal_20sinric_20pro_17',['Define your credentials from SinricPro-Portal (portal.sinric.pro)',['../index.html#autotoc_md14',1,'']]], + ['custom_20devices_18',['* Custom devices',['../index.html#autotoc_md25',1,'']]] ]; diff --git a/docs/search/all_3.js b/docs/search/all_3.js index 9dade9b..30e5d1a 100644 --- a/docs/search/all_3.js +++ b/docs/search/all_3.js @@ -1,11 +1,18 @@ var searchData= [ - ['decreasecolortemperaturecallback_27',['DecreaseColorTemperatureCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#ae64ac4d2aa913eeb244091c7a13d2ecc',1,'SINRICPRO_2_9_17']]], - ['devices_28',['Devices',['../group___devices.html',1,'']]], - ['disconnectedcallbackhandler_29',['DisconnectedCallbackHandler',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a6cc95068e9f18665e76c37a621ca2ceb',1,'SINRICPRO_2_9_17']]], - ['doorbell_30',['Doorbell',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_doorbell.html',1,'SINRICPRO_2_9_17']]], - ['doorbell_3c_20sinricprodoorbell_20_3e_31',['Doorbell< SinricProDoorbell >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_doorbell.html',1,'SINRICPRO_2_9_17']]], - ['doorcallback_32',['DoorCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#aaa6633dc67bd8f69e2f14cc0dc0a4466',1,'SINRICPRO_2_9_17']]], - ['doorcontroller_33',['DoorController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_door_controller.html',1,'SINRICPRO_2_9_17']]], - ['doorcontroller_3c_20sinricprogaragedoor_20_3e_34',['DoorController< SinricProGarageDoor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_door_controller.html',1,'SINRICPRO_2_9_17']]] + ['decreasecolortemperaturecallback_0',['DecreaseColorTemperatureCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ae64ac4d2aa913eeb244091c7a13d2ecc',1,'SINRICPRO_3_0_0']]], + ['define_20callback_20routine_20s_1',['Define callback routine(s)',['../index.html#autotoc_md15',1,'']]], + ['define_20your_20credentials_20from_20sinricpro_20portal_20portal_20sinric_20pro_2',['Define your credentials from SinricPro-Portal (portal.sinric.pro)',['../index.html#autotoc_md14',1,'']]], + ['dependencies_3',['Dependencies',['../index.html#autotoc_md6',1,'']]], + ['device_4',['How to add a device?',['../index.html#autotoc_md19',1,'']]], + ['device_20for_20sending_20an_20event_5',['How to retrieve a device for sending an event?',['../index.html#autotoc_md21',1,'']]], + ['device_20libraries_20eg_20sinricproswitch_20h_6',['Include SinricPro-Library (SinricPro.h) and SinricPro-Device-Libraries (eg. SinricProSwitch.h)',['../index.html#autotoc_md13',1,'']]], + ['devices_7',['devices',['../index.html#autotoc_md25',1,'* Custom devices'],['../group___devices.html',1,'Devices'],['../index.html#autotoc_md24',1,'Devices']]], + ['disconnectedcallbackhandler_8',['DisconnectedCallbackHandler',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a6cc95068e9f18665e76c37a621ca2ceb',1,'SINRICPRO_3_0_0']]], + ['documentation_9',['Full user documentation',['../index.html#autotoc_md8',1,'']]], + ['doorbell_10',['Doorbell',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.html',1,'SINRICPRO_3_0_0']]], + ['doorbell_3c_20sinricprodoorbell_20_3e_11',['Doorbell< SinricProDoorbell >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.html',1,'SINRICPRO_3_0_0']]], + ['doorcallback_12',['DoorCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#aaa6633dc67bd8f69e2f14cc0dc0a4466',1,'SINRICPRO_3_0_0']]], + ['doorcontroller_13',['DoorController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.html',1,'SINRICPRO_3_0_0']]], + ['doorcontroller_3c_20sinricprogaragedoor_20_3e_14',['DoorController< SinricProGarageDoor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.html',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/all_4.js b/docs/search/all_4.js index 7e2f788..d1909a4 100644 --- a/docs/search/all_4.js +++ b/docs/search/all_4.js @@ -1,5 +1,11 @@ var searchData= [ - ['equalizercontroller_35',['EqualizerController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html',1,'SINRICPRO_2_9_17']]], - ['equalizercontroller_3c_20sinricprospeaker_20_3e_36',['EqualizerController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html',1,'SINRICPRO_2_9_17']]] + ['eg_20sinricproswitch_20h_0',['Include SinricPro-Library (SinricPro.h) and SinricPro-Device-Libraries (eg. SinricProSwitch.h)',['../index.html#autotoc_md13',1,'']]], + ['equalizercontroller_1',['EqualizerController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html',1,'SINRICPRO_3_0_0']]], + ['equalizercontroller_3c_20sinricprospeaker_20_3e_2',['EqualizerController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html',1,'SINRICPRO_3_0_0']]], + ['esp32_20rp2040_3',['SinricPro (ESP8266 / ESP32 / RP2040)',['../index.html',1,'']]], + ['esp8266_20esp32_20rp2040_4',['SinricPro (ESP8266 / ESP32 / RP2040)',['../index.html',1,'']]], + ['event_5',['How to retrieve a device for sending an event?',['../index.html#autotoc_md21',1,'']]], + ['example_20code_6',['example code',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#operator',1,'[] Example-Code'],['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#handle',1,'Example-Code'],['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#onDisconnected',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#AdjustVolumeCallback',1,'Example-Code'],['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#onConnected',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#BrightnessCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#AdjustBrightnessCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ChangeChannel',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ChangeChannelNumber',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#SkipChannels',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ColorCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ColorTemperatureCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#IncreaseColorTemperatureCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#DecreaseColorTemperatureCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#DoorStateCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#SetBandsCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#AdjustBandsCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ResetBandsCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#SelectInput',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#KeystrokeCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#LockStateCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#MediaControlCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ModeCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#GenericModeCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#MuteCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#SetPercentageCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#AdjustPercentageCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#SetPowerLevelCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#AdjustPowerLevelCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#PowerStateCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#SetRangeValueCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#GenericSetRangeValueCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#AdjustRangeValueCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#GenericAdjustRangeValueCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ThermostatModeCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#TargetTemperatureCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#AdjustTargetTemperatureCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ToggleStateCallback',1,'Example-Code'],['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#SetVolumeCallback',1,'Example-Code']]], + ['examples_7',['Examples',['../index.html#autotoc_md10',1,'']]] ]; diff --git a/docs/search/all_5.js b/docs/search/all_5.js index dd05930..39403e8 100644 --- a/docs/search/all_5.js +++ b/docs/search/all_5.js @@ -1,9 +1,6 @@ var searchData= [ - ['genericadjustrangevaluecallback_5fint_37',['GenericAdjustRangeValueCallback_int',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a38dc8a8eb0e769ed32348b7166e39ad3',1,'SINRICPRO_2_9_17']]], - ['genericmodecallback_38',['GenericModeCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#ac29fade927b50eac618999f84b29d02b',1,'SINRICPRO_2_9_17']]], - ['genericrangevaluecallback_5fint_39',['GenericRangeValueCallback_int',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a0acdc221a5d0592fea85aa0c7f236cf0',1,'SINRICPRO_2_9_17']]], - ['genericsetrangevaluecallback_5fint_40',['GenericSetRangeValueCallback_int',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a29997b424c4b141240a08d26406e4a14',1,'SINRICPRO_2_9_17']]], - ['generictogglestatecallback_41',['GenericToggleStateCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a87371479ad42795e9dc9344bd02a6312',1,'SINRICPRO_2_9_17']]], - ['gettimestamp_42',['getTimestamp',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#afb2be26eef972203404140612fa31326',1,'SINRICPRO_2_9_17::SinricProClass']]] + ['for_20sending_20an_20event_0',['How to retrieve a device for sending an event?',['../index.html#autotoc_md21',1,'']]], + ['from_20sinricpro_20portal_20portal_20sinric_20pro_1',['Define your credentials from SinricPro-Portal (portal.sinric.pro)',['../index.html#autotoc_md14',1,'']]], + ['full_20user_20documentation_2',['Full user documentation',['../index.html#autotoc_md8',1,'']]] ]; diff --git a/docs/search/all_6.js b/docs/search/all_6.js index 8732581..4a152e7 100644 --- a/docs/search/all_6.js +++ b/docs/search/all_6.js @@ -1,4 +1,9 @@ var searchData= [ - ['handle_43',['handle',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#a37c2d0658e498b1bf878f8a3d9a7c5b4',1,'SINRICPRO_2_9_17::SinricProClass']]] + ['genericadjustrangevaluecallback_5fint_0',['GenericAdjustRangeValueCallback_int',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a38dc8a8eb0e769ed32348b7166e39ad3',1,'SINRICPRO_3_0_0']]], + ['genericmodecallback_1',['GenericModeCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#ac29fade927b50eac618999f84b29d02b',1,'SINRICPRO_3_0_0']]], + ['genericrangevaluecallback_5fint_2',['GenericRangeValueCallback_int',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a0acdc221a5d0592fea85aa0c7f236cf0',1,'SINRICPRO_3_0_0']]], + ['genericsetrangevaluecallback_5fint_3',['GenericSetRangeValueCallback_int',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a29997b424c4b141240a08d26406e4a14',1,'SINRICPRO_3_0_0']]], + ['generictogglestatecallback_4',['GenericToggleStateCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a87371479ad42795e9dc9344bd02a6312',1,'SINRICPRO_3_0_0']]], + ['gettimestamp_5',['getTimestamp',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#afb2be26eef972203404140612fa31326',1,'SINRICPRO_3_0_0::SinricProClass']]] ]; diff --git a/docs/search/all_7.js b/docs/search/all_7.js index 7863ae7..c522a91 100644 --- a/docs/search/all_7.js +++ b/docs/search/all_7.js @@ -1,7 +1,8 @@ var searchData= [ - ['increasecolortemperaturecallback_44',['IncreaseColorTemperatureCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#aed3d41935f8162074c2a2cc0168164dd',1,'SINRICPRO_2_9_17']]], - ['inputcontroller_45',['InputController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller.html',1,'SINRICPRO_2_9_17']]], - ['inputcontroller_3c_20sinricprospeaker_20_3e_46',['InputController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller.html',1,'SINRICPRO_2_9_17']]], - ['inputcontroller_3c_20sinricprotv_20_3e_47',['InputController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller.html',1,'SINRICPRO_2_9_17']]] + ['h_20and_20sinricpro_20device_20libraries_20eg_20sinricproswitch_20h_0',['Include SinricPro-Library (SinricPro.h) and SinricPro-Device-Libraries (eg. SinricProSwitch.h)',['../index.html#autotoc_md13',1,'']]], + ['handle_1',['handle',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#a37c2d0658e498b1bf878f8a3d9a7c5b4',1,'SINRICPRO_3_0_0::SinricProClass']]], + ['how_20to_20add_20a_20device_2',['How to add a device?',['../index.html#autotoc_md19',1,'']]], + ['how_20to_20retrieve_20a_20device_20for_20sending_20an_20event_3',['How to retrieve a device for sending an event?',['../index.html#autotoc_md21',1,'']]], + ['how_20to_20send_20a_20push_20notification_4',['How to send a push notification?',['../index.html#autotoc_md22',1,'']]] ]; diff --git a/docs/search/all_8.js b/docs/search/all_8.js index beaca4a..7ef7ec3 100644 --- a/docs/search/all_8.js +++ b/docs/search/all_8.js @@ -1,5 +1,11 @@ var searchData= [ - ['keypadcontroller_48',['KeypadController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_keypad_controller.html',1,'SINRICPRO_2_9_17']]], - ['keystrokecallback_49',['KeystrokeCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a3dd7e26af9b9026ccc6f5328f563a8c3',1,'SINRICPRO_2_9_17']]] + ['in_20loop_0',['In loop()',['../index.html#autotoc_md17',1,'']]], + ['in_20setup_1',['In setup()',['../index.html#autotoc_md16',1,'']]], + ['include_20sinricpro_20library_20sinricpro_20h_20and_20sinricpro_20device_20libraries_20eg_20sinricproswitch_20h_2',['Include SinricPro-Library (SinricPro.h) and SinricPro-Device-Libraries (eg. SinricProSwitch.h)',['../index.html#autotoc_md13',1,'']]], + ['increasecolortemperaturecallback_3',['IncreaseColorTemperatureCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#aed3d41935f8162074c2a2cc0168164dd',1,'SINRICPRO_3_0_0']]], + ['inputcontroller_4',['InputController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html',1,'SINRICPRO_3_0_0']]], + ['inputcontroller_3c_20sinricprospeaker_20_3e_5',['InputController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html',1,'SINRICPRO_3_0_0']]], + ['inputcontroller_3c_20sinricprotv_20_3e_6',['InputController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html',1,'SINRICPRO_3_0_0']]], + ['installation_7',['Installation',['../index.html#autotoc_md2',1,'']]] ]; diff --git a/docs/search/all_9.js b/docs/search/all_9.js index 7a2cf2a..f6a845e 100644 --- a/docs/search/all_9.js +++ b/docs/search/all_9.js @@ -1,6 +1,5 @@ var searchData= [ - ['lockcontroller_50',['LockController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_lock_controller.html',1,'SINRICPRO_2_9_17']]], - ['lockcontroller_3c_20sinricprolock_20_3e_51',['LockController< SinricProLock >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_lock_controller.html',1,'SINRICPRO_2_9_17']]], - ['lockstatecallback_52',['LockStateCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a53b5285d1315f98fa2c5dd27c7547ea5',1,'SINRICPRO_2_9_17']]] + ['keypadcontroller_0',['KeypadController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller.html',1,'SINRICPRO_3_0_0']]], + ['keystrokecallback_1',['KeystrokeCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a3dd7e26af9b9026ccc6f5328f563a8c3',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/all_a.js b/docs/search/all_a.js index 44917ee..2d6864c 100644 --- a/docs/search/all_a.js +++ b/docs/search/all_a.js @@ -1,16 +1,9 @@ var searchData= [ - ['mediacontrolcallback_53',['MediaControlCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a9e92d9efafd5313ef1b056030655c526',1,'SINRICPRO_2_9_17']]], - ['mediacontroller_54',['MediaController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller.html',1,'SINRICPRO_2_9_17']]], - ['mediacontroller_3c_20sinricprospeaker_20_3e_55',['MediaController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller.html',1,'SINRICPRO_2_9_17']]], - ['mediacontroller_3c_20sinricprotv_20_3e_56',['MediaController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller.html',1,'SINRICPRO_2_9_17']]], - ['modecallback_57',['ModeCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#aa2d0fe1a7983a8ec5e8fb3e69a5af60f',1,'SINRICPRO_2_9_17']]], - ['modecontroller_58',['ModeController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html',1,'SINRICPRO_2_9_17']]], - ['modecontroller_3c_20sinricprospeaker_20_3e_59',['ModeController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html',1,'SINRICPRO_2_9_17']]], - ['motionsensor_60',['MotionSensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_motion_sensor.html',1,'SINRICPRO_2_9_17']]], - ['motionsensor_3c_20sinricpromotionsensor_20_3e_61',['MotionSensor< SinricProMotionsensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_motion_sensor.html',1,'SINRICPRO_2_9_17']]], - ['mutecallback_62',['MuteCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a0e4c9c4ee0b526732bc0a868ac4f2c41',1,'SINRICPRO_2_9_17']]], - ['mutecontroller_63',['MuteController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller.html',1,'SINRICPRO_2_9_17']]], - ['mutecontroller_3c_20sinricprospeaker_20_3e_64',['MuteController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller.html',1,'SINRICPRO_2_9_17']]], - ['mutecontroller_3c_20sinricprotv_20_3e_65',['MuteController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller.html',1,'SINRICPRO_2_9_17']]] + ['libraries_20eg_20sinricproswitch_20h_0',['Include SinricPro-Library (SinricPro.h) and SinricPro-Device-Libraries (eg. SinricProSwitch.h)',['../index.html#autotoc_md13',1,'']]], + ['library_20sinricpro_20h_20and_20sinricpro_20device_20libraries_20eg_20sinricproswitch_20h_1',['Include SinricPro-Library (SinricPro.h) and SinricPro-Device-Libraries (eg. SinricProSwitch.h)',['../index.html#autotoc_md13',1,'']]], + ['lockcontroller_2',['LockController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html',1,'SINRICPRO_3_0_0']]], + ['lockcontroller_3c_20sinricprolock_20_3e_3',['LockController< SinricProLock >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html',1,'SINRICPRO_3_0_0']]], + ['lockstatecallback_4',['LockStateCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a53b5285d1315f98fa2c5dd27c7547ea5',1,'SINRICPRO_3_0_0']]], + ['loop_5',['In loop()',['../index.html#autotoc_md17',1,'']]] ]; diff --git a/docs/search/all_b.js b/docs/search/all_b.js index b2cb85e..46f6c3d 100644 --- a/docs/search/all_b.js +++ b/docs/search/all_b.js @@ -1,38 +1,16 @@ var searchData= [ - ['onadjustbands_66',['onAdjustBands',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html#a41a5c1506545c44c2408054a8675c7a8',1,'SINRICPRO_2_9_17::EqualizerController']]], - ['onadjustbrightness_67',['onAdjustBrightness',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller.html#a0633e5fa2981189f4a093bab00a8c7f1',1,'SINRICPRO_2_9_17::BrightnessController']]], - ['onadjustpercentage_68',['onAdjustPercentage',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_percentage_controller.html#a77ac70c4880e38dae4f640dceaeb2816',1,'SINRICPRO_2_9_17::PercentageController']]], - ['onadjustpowerlevel_69',['onAdjustPowerLevel',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html#a13b10bdb1844babe4de320fff9172d96',1,'SINRICPRO_2_9_17::PowerLevelController']]], - ['onadjustrangevalue_70',['onAdjustRangeValue',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html#ae85696d55112ae7343f9807faee6e064',1,'SINRICPRO_2_9_17::RangeController']]], - ['onadjusttargettemperature_71',['onAdjustTargetTemperature',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html#ac51f6fecfdf4c7bc8e0712e2da47bbf4',1,'SINRICPRO_2_9_17::ThermostatController']]], - ['onadjustvolume_72',['onAdjustVolume',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html#a2c868c87f96e3924c8b309e1bcfb507e',1,'SINRICPRO_2_9_17::VolumeController']]], - ['onbrightness_73',['onBrightness',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller.html#abbaab3067b1fcdcc5928451b818a4420',1,'SINRICPRO_2_9_17::BrightnessController']]], - ['onchangechannel_74',['onChangeChannel',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html#a92f3b83744b5bb82d32628eef39c1eb9',1,'SINRICPRO_2_9_17::ChannelController']]], - ['onchangechannelnumber_75',['onChangeChannelNumber',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html#afd8aee20590bfadec181c6ee515125ec',1,'SINRICPRO_2_9_17::ChannelController']]], - ['oncolor_76',['onColor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_controller.html#a059ff103149869b7c49cdb8911875b7b',1,'SINRICPRO_2_9_17::ColorController']]], - ['oncolortemperature_77',['onColorTemperature',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html#a8535c44fd2517ed09ebe6a203cc25b67',1,'SINRICPRO_2_9_17::ColorTemperatureController']]], - ['onconnected_78',['onConnected',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#ac33a355adfc413d4ff36974d735115bd',1,'SINRICPRO_2_9_17::SinricProClass']]], - ['ondecreasecolortemperature_79',['onDecreaseColorTemperature',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html#a7468976e7fffeee14cc869b7236cbb50',1,'SINRICPRO_2_9_17::ColorTemperatureController']]], - ['ondisconnected_80',['onDisconnected',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#a654bb017ca55b448d55bb36e0346f38a',1,'SINRICPRO_2_9_17::SinricProClass']]], - ['ondoorstate_81',['onDoorState',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_door_controller.html#a6b536531ab89b39f1a48cb107e22185e',1,'SINRICPRO_2_9_17::DoorController']]], - ['onincreasecolortemperature_82',['onIncreaseColorTemperature',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html#a7ea9fd9861a5668a41d06267bfbec82a',1,'SINRICPRO_2_9_17::ColorTemperatureController']]], - ['onkeystroke_83',['onKeystroke',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_keypad_controller.html#ab24b4858dcc69145a367e964c2ae7961',1,'SINRICPRO_2_9_17::KeypadController']]], - ['onlockstate_84',['onLockState',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_lock_controller.html#aee42cc397234a454fd353ca6bc12a859',1,'SINRICPRO_2_9_17::LockController']]], - ['onmediacontrol_85',['onMediaControl',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller.html#afc2620621377fff928737b5a8a537020',1,'SINRICPRO_2_9_17::MediaController']]], - ['onmute_86',['onMute',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller.html#ab5fc79cc8903c3ccc1c106abf61d7cfd',1,'SINRICPRO_2_9_17::MuteController']]], - ['onpowerlevel_87',['onPowerLevel',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html#a0685d34694badb4442fed6b69b69b366',1,'SINRICPRO_2_9_17::PowerLevelController']]], - ['onpowerstate_88',['onPowerState',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html#a32f3257da431a1035f23a265ff0cc4cf',1,'SINRICPRO_2_9_17::PowerStateController']]], - ['onrangevalue_89',['onRangeValue',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html#a94adbcdf6ce61cb6552a5f9915e705ae',1,'SINRICPRO_2_9_17::RangeController::onRangeValue(SetRangeValueCallback cb)'],['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html#a6d6d8070b49c8b5272460836a1120b33',1,'SINRICPRO_2_9_17::RangeController::onRangeValue(const String &instance, GenericSetRangeValueCallback_int cb)']]], - ['onresetbands_90',['onResetBands',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html#aa6c3aabc2b442d82ac5456ccaac3f60d',1,'SINRICPRO_2_9_17::EqualizerController']]], - ['onselectinput_91',['onSelectInput',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller.html#a18f8f71ecf0d7292a63d9486f94e5180',1,'SINRICPRO_2_9_17::InputController']]], - ['onsetbands_92',['onSetBands',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html#a4aaa7a29394560be7537a86b0304d199',1,'SINRICPRO_2_9_17::EqualizerController']]], - ['onsetmode_93',['onSetMode',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html#ada087c948c3ab923bdb7818daa6b2b79',1,'SINRICPRO_2_9_17::ModeController::onSetMode(ModeCallback cb)'],['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html#a6b15ba168b3a673b98da43ac5e4ef76c',1,'SINRICPRO_2_9_17::ModeController::onSetMode(const String &instance, GenericModeCallback cb)']]], - ['onsetpercentage_94',['onSetPercentage',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_percentage_controller.html#aeef432df118679c689ccd8a48d47dc3d',1,'SINRICPRO_2_9_17::PercentageController']]], - ['onsetvolume_95',['onSetVolume',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html#a5db8c85f222debbece54c794015f9402',1,'SINRICPRO_2_9_17::VolumeController']]], - ['onskipchannels_96',['onSkipChannels',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html#ab1123d03d471fad4896eb2960ed41855',1,'SINRICPRO_2_9_17::ChannelController']]], - ['ontargettemperature_97',['onTargetTemperature',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html#a1c73725f1f3fbb1c5b72208aae5c2bf2',1,'SINRICPRO_2_9_17::ThermostatController']]], - ['onthermostatmode_98',['onThermostatMode',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html#a2ef31536973b20815dd6c80a28e19c9f',1,'SINRICPRO_2_9_17::ThermostatController']]], - ['ontogglestate_99',['onToggleState',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_toggle_controller.html#a7ccd28a4f20922847d0461649af5572d',1,'SINRICPRO_2_9_17::ToggleController']]], - ['operator_5b_5d_100',['operator[]',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#a84a491d393b5c7c1433a2a9e62a58766',1,'SINRICPRO_2_9_17::SinricProClass']]] + ['mediacontrolcallback_0',['MediaControlCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a9e92d9efafd5313ef1b056030655c526',1,'SINRICPRO_3_0_0']]], + ['mediacontroller_1',['MediaController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html',1,'SINRICPRO_3_0_0']]], + ['mediacontroller_3c_20sinricprospeaker_20_3e_2',['MediaController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html',1,'SINRICPRO_3_0_0']]], + ['mediacontroller_3c_20sinricprotv_20_3e_3',['MediaController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html',1,'SINRICPRO_3_0_0']]], + ['modecallback_4',['ModeCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#aa2d0fe1a7983a8ec5e8fb3e69a5af60f',1,'SINRICPRO_3_0_0']]], + ['modecontroller_5',['ModeController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html',1,'SINRICPRO_3_0_0']]], + ['modecontroller_3c_20sinricprospeaker_20_3e_6',['ModeController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html',1,'SINRICPRO_3_0_0']]], + ['motionsensor_7',['MotionSensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.html',1,'SINRICPRO_3_0_0']]], + ['motionsensor_3c_20sinricpromotionsensor_20_3e_8',['MotionSensor< SinricProMotionsensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.html',1,'SINRICPRO_3_0_0']]], + ['mutecallback_9',['MuteCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#a0e4c9c4ee0b526732bc0a868ac4f2c41',1,'SINRICPRO_3_0_0']]], + ['mutecontroller_10',['MuteController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html',1,'SINRICPRO_3_0_0']]], + ['mutecontroller_3c_20sinricprospeaker_20_3e_11',['MuteController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html',1,'SINRICPRO_3_0_0']]], + ['mutecontroller_3c_20sinricprotv_20_3e_12',['MuteController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/all_c.js b/docs/search/all_c.js index 92d658e..0132777 100644 --- a/docs/search/all_c.js +++ b/docs/search/all_c.js @@ -1,48 +1,5 @@ var searchData= [ - ['percentagecontroller_101',['PercentageController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_percentage_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerlevelcontroller_102',['PowerLevelController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerlevelcontroller_3c_20sinricprodimswitch_20_3e_103',['PowerLevelController< SinricProDimSwitch >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerlevelcontroller_3c_20sinricprofan_20_3e_104',['PowerLevelController< SinricProFan >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html',1,'SINRICPRO_2_9_17']]], - ['powersensor_105',['PowerSensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_sensor.html',1,'SINRICPRO_2_9_17']]], - ['powersensor_3c_20sinricpropowersensor_20_3e_106',['PowerSensor< SinricProPowerSensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_sensor.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecallback_107',['PowerStateCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#aad370bc6b280bbdeac98181a31f22df4',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_108',['PowerStateController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricproairqualitysensor_20_3e_109',['PowerStateController< SinricProAirQualitySensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricproblinds_20_3e_110',['PowerStateController< SinricProBlinds >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprocamera_20_3e_111',['PowerStateController< SinricProCamera >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprocontactsensor_20_3e_112',['PowerStateController< SinricProContactsensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprodimswitch_20_3e_113',['PowerStateController< SinricProDimSwitch >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprodoorbell_20_3e_114',['PowerStateController< SinricProDoorbell >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprofan_20_3e_115',['PowerStateController< SinricProFan >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprofanus_20_3e_116',['PowerStateController< SinricProFanUS >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprolight_20_3e_117',['PowerStateController< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricpromotionsensor_20_3e_118',['PowerStateController< SinricProMotionsensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricpropowersensor_20_3e_119',['PowerStateController< SinricProPowerSensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprospeaker_20_3e_120',['PowerStateController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricproswitch_20_3e_121',['PowerStateController< SinricProSwitch >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprotemperaturesensor_20_3e_122',['PowerStateController< SinricProTemperaturesensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprothermostat_20_3e_123',['PowerStateController< SinricProThermostat >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprotv_20_3e_124',['PowerStateController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprowindowac_20_3e_125',['PowerStateController< SinricProWindowAC >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_126',['PushNotification',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricproairqualitysensor_20_3e_127',['PushNotification< SinricProAirQualitySensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricproblinds_20_3e_128',['PushNotification< SinricProBlinds >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprocamera_20_3e_129',['PushNotification< SinricProCamera >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprocontactsensor_20_3e_130',['PushNotification< SinricProContactsensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprodimswitch_20_3e_131',['PushNotification< SinricProDimSwitch >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprodoorbell_20_3e_132',['PushNotification< SinricProDoorbell >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprofan_20_3e_133',['PushNotification< SinricProFan >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprofanus_20_3e_134',['PushNotification< SinricProFanUS >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprogaragedoor_20_3e_135',['PushNotification< SinricProGarageDoor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprolight_20_3e_136',['PushNotification< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprolock_20_3e_137',['PushNotification< SinricProLock >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricpromotionsensor_20_3e_138',['PushNotification< SinricProMotionsensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricpropowersensor_20_3e_139',['PushNotification< SinricProPowerSensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprospeaker_20_3e_140',['PushNotification< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricproswitch_20_3e_141',['PushNotification< SinricProSwitch >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprotemperaturesensor_20_3e_142',['PushNotification< SinricProTemperaturesensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprothermostat_20_3e_143',['PushNotification< SinricProThermostat >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprotv_20_3e_144',['PushNotification< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprowindowac_20_3e_145',['PushNotification< SinricProWindowAC >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]] + ['note_0',['Note',['../index.html#autotoc_md1',1,'']]], + ['notification_1',['How to send a push notification?',['../index.html#autotoc_md22',1,'']]] ]; diff --git a/docs/search/all_d.js b/docs/search/all_d.js index 930410c..c0b6405 100644 --- a/docs/search/all_d.js +++ b/docs/search/all_d.js @@ -1,9 +1,38 @@ var searchData= [ - ['rangecontroller_146',['RangeController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html',1,'SINRICPRO_2_9_17']]], - ['rangecontroller_3c_20sinricproblinds_20_3e_147',['RangeController< SinricProBlinds >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html',1,'SINRICPRO_2_9_17']]], - ['rangecontroller_3c_20sinricprofanus_20_3e_148',['RangeController< SinricProFanUS >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html',1,'SINRICPRO_2_9_17']]], - ['rangecontroller_3c_20sinricprowindowac_20_3e_149',['RangeController< SinricProWindowAC >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html',1,'SINRICPRO_2_9_17']]], - ['resetbandscallback_150',['ResetBandsCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#aa8c78de42c40ee03966f3c96cdc05bab',1,'SINRICPRO_2_9_17']]], - ['restoredevicestates_151',['restoreDeviceStates',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html#a27a9bb7f1e8bde0f39398649493b6f93',1,'SINRICPRO_2_9_17::SinricProClass']]] + ['onadjustbands_0',['onAdjustBands',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html#a41a5c1506545c44c2408054a8675c7a8',1,'SINRICPRO_3_0_0::EqualizerController']]], + ['onadjustbrightness_1',['onAdjustBrightness',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html#a0633e5fa2981189f4a093bab00a8c7f1',1,'SINRICPRO_3_0_0::BrightnessController']]], + ['onadjustpercentage_2',['onAdjustPercentage',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html#a77ac70c4880e38dae4f640dceaeb2816',1,'SINRICPRO_3_0_0::PercentageController']]], + ['onadjustpowerlevel_3',['onAdjustPowerLevel',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html#a13b10bdb1844babe4de320fff9172d96',1,'SINRICPRO_3_0_0::PowerLevelController']]], + ['onadjustrangevalue_4',['onAdjustRangeValue',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#ae85696d55112ae7343f9807faee6e064',1,'SINRICPRO_3_0_0::RangeController']]], + ['onadjusttargettemperature_5',['onAdjustTargetTemperature',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#ac51f6fecfdf4c7bc8e0712e2da47bbf4',1,'SINRICPRO_3_0_0::ThermostatController']]], + ['onadjustvolume_6',['onAdjustVolume',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html#a2c868c87f96e3924c8b309e1bcfb507e',1,'SINRICPRO_3_0_0::VolumeController']]], + ['onbrightness_7',['onBrightness',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html#abbaab3067b1fcdcc5928451b818a4420',1,'SINRICPRO_3_0_0::BrightnessController']]], + ['onchangechannel_8',['onChangeChannel',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html#a92f3b83744b5bb82d32628eef39c1eb9',1,'SINRICPRO_3_0_0::ChannelController']]], + ['onchangechannelnumber_9',['onChangeChannelNumber',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html#afd8aee20590bfadec181c6ee515125ec',1,'SINRICPRO_3_0_0::ChannelController']]], + ['oncolor_10',['onColor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html#a059ff103149869b7c49cdb8911875b7b',1,'SINRICPRO_3_0_0::ColorController']]], + ['oncolortemperature_11',['onColorTemperature',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html#a8535c44fd2517ed09ebe6a203cc25b67',1,'SINRICPRO_3_0_0::ColorTemperatureController']]], + ['onconnected_12',['onConnected',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#ac33a355adfc413d4ff36974d735115bd',1,'SINRICPRO_3_0_0::SinricProClass']]], + ['ondecreasecolortemperature_13',['onDecreaseColorTemperature',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html#a7468976e7fffeee14cc869b7236cbb50',1,'SINRICPRO_3_0_0::ColorTemperatureController']]], + ['ondisconnected_14',['onDisconnected',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#a654bb017ca55b448d55bb36e0346f38a',1,'SINRICPRO_3_0_0::SinricProClass']]], + ['ondoorstate_15',['onDoorState',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.html#a6b536531ab89b39f1a48cb107e22185e',1,'SINRICPRO_3_0_0::DoorController']]], + ['onincreasecolortemperature_16',['onIncreaseColorTemperature',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html#a7ea9fd9861a5668a41d06267bfbec82a',1,'SINRICPRO_3_0_0::ColorTemperatureController']]], + ['onkeystroke_17',['onKeystroke',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller.html#ab24b4858dcc69145a367e964c2ae7961',1,'SINRICPRO_3_0_0::KeypadController']]], + ['onlockstate_18',['onLockState',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html#aee42cc397234a454fd353ca6bc12a859',1,'SINRICPRO_3_0_0::LockController']]], + ['onmediacontrol_19',['onMediaControl',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html#afc2620621377fff928737b5a8a537020',1,'SINRICPRO_3_0_0::MediaController']]], + ['onmute_20',['onMute',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html#ab5fc79cc8903c3ccc1c106abf61d7cfd',1,'SINRICPRO_3_0_0::MuteController']]], + ['onpowerlevel_21',['onPowerLevel',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html#a0685d34694badb4442fed6b69b69b366',1,'SINRICPRO_3_0_0::PowerLevelController']]], + ['onpowerstate_22',['onPowerState',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html#a32f3257da431a1035f23a265ff0cc4cf',1,'SINRICPRO_3_0_0::PowerStateController']]], + ['onrangevalue_23',['onrangevalue',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#a94adbcdf6ce61cb6552a5f9915e705ae',1,'SINRICPRO_3_0_0::RangeController::onRangeValue(SetRangeValueCallback cb)'],['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html#a6d6d8070b49c8b5272460836a1120b33',1,'SINRICPRO_3_0_0::RangeController::onRangeValue(const String &instance, GenericSetRangeValueCallback_int cb)']]], + ['onresetbands_24',['onResetBands',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html#aa6c3aabc2b442d82ac5456ccaac3f60d',1,'SINRICPRO_3_0_0::EqualizerController']]], + ['onselectinput_25',['onSelectInput',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html#a18f8f71ecf0d7292a63d9486f94e5180',1,'SINRICPRO_3_0_0::InputController']]], + ['onsetbands_26',['onSetBands',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html#a4aaa7a29394560be7537a86b0304d199',1,'SINRICPRO_3_0_0::EqualizerController']]], + ['onsetmode_27',['onsetmode',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html#ada087c948c3ab923bdb7818daa6b2b79',1,'SINRICPRO_3_0_0::ModeController::onSetMode(ModeCallback cb)'],['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html#a6b15ba168b3a673b98da43ac5e4ef76c',1,'SINRICPRO_3_0_0::ModeController::onSetMode(const String &instance, GenericModeCallback cb)']]], + ['onsetpercentage_28',['onSetPercentage',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html#aeef432df118679c689ccd8a48d47dc3d',1,'SINRICPRO_3_0_0::PercentageController']]], + ['onsetvolume_29',['onSetVolume',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html#a5db8c85f222debbece54c794015f9402',1,'SINRICPRO_3_0_0::VolumeController']]], + ['onskipchannels_30',['onSkipChannels',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html#ab1123d03d471fad4896eb2960ed41855',1,'SINRICPRO_3_0_0::ChannelController']]], + ['ontargettemperature_31',['onTargetTemperature',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#a1c73725f1f3fbb1c5b72208aae5c2bf2',1,'SINRICPRO_3_0_0::ThermostatController']]], + ['onthermostatmode_32',['onThermostatMode',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html#a2ef31536973b20815dd6c80a28e19c9f',1,'SINRICPRO_3_0_0::ThermostatController']]], + ['ontogglestate_33',['onToggleState',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.html#a7ccd28a4f20922847d0461649af5572d',1,'SINRICPRO_3_0_0::ToggleController']]], + ['operator_5b_5d_34',['operator[]',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#ab68694b0983ae36c532cbd52adbb180d',1,'SINRICPRO_3_0_0::SinricProClass']]] ]; diff --git a/docs/search/all_e.js b/docs/search/all_e.js index a6c111a..0d914bb 100644 --- a/docs/search/all_e.js +++ b/docs/search/all_e.js @@ -1,60 +1,48 @@ var searchData= [ - ['selectinputcallback_152',['SelectInputCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a2f7a91a480cd401f4df2f7ddda4a8f13',1,'SINRICPRO_2_9_17']]], - ['sendairqualityevent_153',['sendAirQualityEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_air_quality_sensor.html#a733195bdc5b15c858e4e890847b3a0d5',1,'SINRICPRO_2_9_17::AirQualitySensor']]], - ['sendbandsevent_154',['sendBandsEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html#a4ad5674e36d96a73147388251b794c82',1,'SINRICPRO_2_9_17::EqualizerController']]], - ['sendbrightnessevent_155',['sendBrightnessEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller.html#a2a96c414210f61de3ce53a4ca8c963b3',1,'SINRICPRO_2_9_17::BrightnessController']]], - ['sendchangechannelevent_156',['sendChangeChannelEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html#aff5839c3020c3006af1a2a8c37cc858e',1,'SINRICPRO_2_9_17::ChannelController']]], - ['sendcolorevent_157',['sendColorEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_controller.html#a3599a6d00eb0f9127a7c1188885c5bc0',1,'SINRICPRO_2_9_17::ColorController']]], - ['sendcolortemperatureevent_158',['sendColorTemperatureEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html#a0f90d7f5a5b365116f97beca7630ccc9',1,'SINRICPRO_2_9_17::ColorTemperatureController']]], - ['sendcontactevent_159',['sendContactEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_contact_sensor.html#a452a4cfa3177d8d8d31c5919e9ccbb19',1,'SINRICPRO_2_9_17::ContactSensor']]], - ['senddoorbellevent_160',['sendDoorbellEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_doorbell.html#a168f5a4ddcbf381fd548bf10ee05b272',1,'SINRICPRO_2_9_17::Doorbell']]], - ['senddoorstateevent_161',['sendDoorStateEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_door_controller.html#a375cda2b0bc05e1a66e3bc29d059d9a7',1,'SINRICPRO_2_9_17::DoorController']]], - ['sendlockstateevent_162',['sendLockStateEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_lock_controller.html#a8fb3fec204da21e69d05f89a9ecb4739',1,'SINRICPRO_2_9_17::LockController']]], - ['sendmediacontrolevent_163',['sendMediaControlEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller.html#a7af593cbf79d38f6b90efb5afee45077',1,'SINRICPRO_2_9_17::MediaController']]], - ['sendmodeevent_164',['sendModeEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html#a7c84d5c26f2ded88e4941313015f7f4c',1,'SINRICPRO_2_9_17::ModeController::sendModeEvent(String instance, String mode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)'],['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html#a41f8465e89d147c08ab8cbc6839d34da',1,'SINRICPRO_2_9_17::ModeController::sendModeEvent(String mode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)']]], - ['sendmotionevent_165',['sendMotionEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_motion_sensor.html#a9be024aa2bb70f0146a02dd1b79d3faa',1,'SINRICPRO_2_9_17::MotionSensor']]], - ['sendmuteevent_166',['sendMuteEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller.html#a4717d892b64a14052712152924bd5b29',1,'SINRICPRO_2_9_17::MuteController']]], - ['sendpowerlevelevent_167',['sendPowerLevelEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html#a2f1f88c7b4d9503bfcfe5557c5e55ed4',1,'SINRICPRO_2_9_17::PowerLevelController']]], - ['sendpowersensorevent_168',['sendPowerSensorEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_sensor.html#aec04692842ae1953973503f6be6d9afc',1,'SINRICPRO_2_9_17::PowerSensor']]], - ['sendpowerstateevent_169',['sendPowerStateEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html#acfd5f3a30933ace93751bd823630cded',1,'SINRICPRO_2_9_17::PowerStateController']]], - ['sendpushnotification_170',['sendPushNotification',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html#a04266791a4b23e9614b8773edb5f67b6',1,'SINRICPRO_2_9_17::PushNotification']]], - ['sendrangevalueevent_171',['sendRangeValueEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html#aaf84aa417e2246843a27e819898e64b5',1,'SINRICPRO_2_9_17::RangeController::sendRangeValueEvent(const String &instance, int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)'],['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html#a1d726751c416fe6dd408e5dd19f6b53b',1,'SINRICPRO_2_9_17::RangeController::sendRangeValueEvent(int rangeValue, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)']]], - ['sendselectinputevent_172',['sendSelectInputEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller.html#a973241ac912a18b142d236dda7f80e97',1,'SINRICPRO_2_9_17::InputController']]], - ['sendsetpercentageevent_173',['sendSetPercentageEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_percentage_controller.html#adf688c12e451e52b05670f150bdabcc8',1,'SINRICPRO_2_9_17::PercentageController']]], - ['sendtargettemperatureevent_174',['sendTargetTemperatureEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html#ab8b7fdd977a0a38413f2279b50274890',1,'SINRICPRO_2_9_17::ThermostatController']]], - ['sendtemperatureevent_175',['sendTemperatureEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_temperature_sensor.html#a75956fe7aff6e595a9b57519316ff789',1,'SINRICPRO_2_9_17::TemperatureSensor']]], - ['sendthermostatmodeevent_176',['sendThermostatModeEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html#ae7273cd094f64a93494ae99501fc83e8',1,'SINRICPRO_2_9_17::ThermostatController']]], - ['sendtogglestateevent_177',['sendToggleStateEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_toggle_controller.html#a7fcc5084fea488e5b5e95f5ad7015a0f',1,'SINRICPRO_2_9_17::ToggleController']]], - ['sendvolumeevent_178',['sendVolumeEvent',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html#aa2d3dbea5b07e4c5f39d3d20aa2167a4',1,'SINRICPRO_2_9_17::VolumeController']]], - ['setbandscallback_179',['SetBandsCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#aaabec5dea3546d52e744a4b0b90c02f4',1,'SINRICPRO_2_9_17']]], - ['setpercentagecallback_180',['SetPercentageCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a3ab0c4ff332f49884fe6a75cb2a293c2',1,'SINRICPRO_2_9_17']]], - ['setpowerlevelcallback_181',['SetPowerLevelCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a5be6c20c0ba9e9b19bd76d42918451b2',1,'SINRICPRO_2_9_17']]], - ['settargettemperaturecallback_182',['SetTargetTemperatureCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a64ecf52eb927d219b3acabf01ad0d31f',1,'SINRICPRO_2_9_17']]], - ['setvolumecallback_183',['SetVolumeCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a5744ad6a31085c216c2193b0f2d86673',1,'SINRICPRO_2_9_17']]], - ['sinricpro_184',['SinricPro',['../group___sinric_pro.html',1,'']]], - ['sinricpro_20_28esp8266_20_2f_20esp32_20sdk_29_185',['SinricPro (ESP8266 / ESP32 SDK)',['../index.html',1,'']]], - ['sinricpro_5f2_5f9_5f17_186',['SINRICPRO_2_9_17',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html',1,'']]], - ['sinricproairqualitysensor_187',['SinricProAirQualitySensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_air_quality_sensor.html',1,'SINRICPRO_2_9_17']]], - ['sinricproblinds_188',['SinricProBlinds',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html',1,'SINRICPRO_2_9_17']]], - ['sinricprocamera_189',['SinricProCamera',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_camera.html',1,'SINRICPRO_2_9_17']]], - ['sinricproclass_190',['SinricProClass',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html',1,'SINRICPRO_2_9_17']]], - ['sinricprocontactsensor_191',['SinricProContactsensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_contactsensor.html',1,'SINRICPRO_2_9_17']]], - ['sinricprodevice_192',['SinricProDevice',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_device.html',1,'SINRICPRO_2_9_17']]], - ['sinricprodimswitch_193',['SinricProDimSwitch',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html',1,'SINRICPRO_2_9_17']]], - ['sinricprodoorbell_194',['SinricProDoorbell',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_doorbell.html',1,'SINRICPRO_2_9_17']]], - ['sinricprofan_195',['SinricProFan',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html',1,'SINRICPRO_2_9_17']]], - ['sinricprofanus_196',['SinricProFanUS',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html',1,'SINRICPRO_2_9_17']]], - ['sinricprogaragedoor_197',['SinricProGarageDoor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_garage_door.html',1,'SINRICPRO_2_9_17']]], - ['sinricprolight_198',['SinricProLight',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html',1,'SINRICPRO_2_9_17']]], - ['sinricprolock_199',['SinricProLock',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_lock.html',1,'SINRICPRO_2_9_17']]], - ['sinricpromotionsensor_200',['SinricProMotionsensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_motionsensor.html',1,'SINRICPRO_2_9_17']]], - ['sinricpropowersensor_201',['SinricProPowerSensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_power_sensor.html',1,'SINRICPRO_2_9_17']]], - ['sinricprospeaker_202',['SinricProSpeaker',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html',1,'SINRICPRO_2_9_17']]], - ['sinricproswitch_203',['SinricProSwitch',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_switch.html',1,'SINRICPRO_2_9_17']]], - ['sinricprotemperaturesensor_204',['SinricProTemperaturesensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_temperaturesensor.html',1,'SINRICPRO_2_9_17']]], - ['sinricprothermostat_205',['SinricProThermostat',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html',1,'SINRICPRO_2_9_17']]], - ['sinricprotv_206',['SinricProTV',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html',1,'SINRICPRO_2_9_17']]], - ['sinricprowindowac_207',['SinricProWindowAC',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html',1,'SINRICPRO_2_9_17']]], - ['skipchannelscallback_208',['SkipChannelsCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a434616b976d1339be63540d16977fa3d',1,'SINRICPRO_2_9_17']]] + ['percentagecontroller_0',['PercentageController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html',1,'SINRICPRO_3_0_0']]], + ['platformio_3a_1',['VS Code & PlatformIO:',['../index.html#autotoc_md3',1,'']]], + ['portal_20portal_20sinric_20pro_2',['Define your credentials from SinricPro-Portal (portal.sinric.pro)',['../index.html#autotoc_md14',1,'']]], + ['portal_20sinric_20pro_3',['Define your credentials from SinricPro-Portal (portal.sinric.pro)',['../index.html#autotoc_md14',1,'']]], + ['powerlevelcontroller_4',['PowerLevelController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerlevelcontroller_3c_20sinricprodimswitch_20_3e_5',['PowerLevelController< SinricProDimSwitch >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerlevelcontroller_3c_20sinricprofan_20_3e_6',['PowerLevelController< SinricProFan >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html',1,'SINRICPRO_3_0_0']]], + ['powersensor_7',['PowerSensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.html',1,'SINRICPRO_3_0_0']]], + ['powersensor_3c_20sinricpropowersensor_20_3e_8',['PowerSensor< SinricProPowerSensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecallback_9',['PowerStateCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#aad370bc6b280bbdeac98181a31f22df4',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_10',['PowerStateController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricproblinds_20_3e_11',['PowerStateController< SinricProBlinds >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprocamera_20_3e_12',['PowerStateController< SinricProCamera >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprodimswitch_20_3e_13',['PowerStateController< SinricProDimSwitch >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprodoorbell_20_3e_14',['PowerStateController< SinricProDoorbell >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprofan_20_3e_15',['PowerStateController< SinricProFan >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprofanus_20_3e_16',['PowerStateController< SinricProFanUS >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprolight_20_3e_17',['PowerStateController< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprospeaker_20_3e_18',['PowerStateController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricproswitch_20_3e_19',['PowerStateController< SinricProSwitch >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprothermostat_20_3e_20',['PowerStateController< SinricProThermostat >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprotv_20_3e_21',['PowerStateController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprowindowac_20_3e_22',['PowerStateController< SinricProWindowAC >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['pro_23',['Define your credentials from SinricPro-Portal (portal.sinric.pro)',['../index.html#autotoc_md14',1,'']]], + ['push_20notification_24',['How to send a push notification?',['../index.html#autotoc_md22',1,'']]], + ['pushnotification_25',['PushNotification',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricproairqualitysensor_20_3e_26',['PushNotification< SinricProAirQualitySensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricproblinds_20_3e_27',['PushNotification< SinricProBlinds >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprocamera_20_3e_28',['PushNotification< SinricProCamera >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprocontactsensor_20_3e_29',['PushNotification< SinricProContactsensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprodimswitch_20_3e_30',['PushNotification< SinricProDimSwitch >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprodoorbell_20_3e_31',['PushNotification< SinricProDoorbell >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprofan_20_3e_32',['PushNotification< SinricProFan >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprofanus_20_3e_33',['PushNotification< SinricProFanUS >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprogaragedoor_20_3e_34',['PushNotification< SinricProGarageDoor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprolight_20_3e_35',['PushNotification< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprolock_20_3e_36',['PushNotification< SinricProLock >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricpromotionsensor_20_3e_37',['PushNotification< SinricProMotionsensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricpropowersensor_20_3e_38',['PushNotification< SinricProPowerSensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprospeaker_20_3e_39',['PushNotification< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricproswitch_20_3e_40',['PushNotification< SinricProSwitch >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprotemperaturesensor_20_3e_41',['PushNotification< SinricProTemperaturesensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprothermostat_20_3e_42',['PushNotification< SinricProThermostat >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprotv_20_3e_43',['PushNotification< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprowindowac_20_3e_44',['PushNotification< SinricProWindowAC >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/all_f.js b/docs/search/all_f.js index 209abc6..62469c5 100644 --- a/docs/search/all_f.js +++ b/docs/search/all_f.js @@ -1,11 +1,12 @@ var searchData= [ - ['temperaturesensor_209',['TemperatureSensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_temperature_sensor.html',1,'SINRICPRO_2_9_17']]], - ['temperaturesensor_3c_20sinricprotemperaturesensor_20_3e_210',['TemperatureSensor< SinricProTemperaturesensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_temperature_sensor.html',1,'SINRICPRO_2_9_17']]], - ['temperaturesensor_3c_20sinricprothermostat_20_3e_211',['TemperatureSensor< SinricProThermostat >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_temperature_sensor.html',1,'SINRICPRO_2_9_17']]], - ['thermostatcontroller_212',['ThermostatController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html',1,'SINRICPRO_2_9_17']]], - ['thermostatcontroller_3c_20sinricprothermostat_20_3e_213',['ThermostatController< SinricProThermostat >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html',1,'SINRICPRO_2_9_17']]], - ['thermostatcontroller_3c_20sinricprowindowac_20_3e_214',['ThermostatController< SinricProWindowAC >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html',1,'SINRICPRO_2_9_17']]], - ['thermostatmodecallback_215',['ThermostatModeCallback',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html#a6cb473352a45a2ae76a46a4292c95a8c',1,'SINRICPRO_2_9_17']]], - ['togglecontroller_216',['ToggleController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_toggle_controller.html',1,'SINRICPRO_2_9_17']]] + ['rangecontroller_0',['RangeController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html',1,'SINRICPRO_3_0_0']]], + ['rangecontroller_3c_20sinricproblinds_20_3e_1',['RangeController< SinricProBlinds >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html',1,'SINRICPRO_3_0_0']]], + ['rangecontroller_3c_20sinricprofanus_20_3e_2',['RangeController< SinricProFanUS >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html',1,'SINRICPRO_3_0_0']]], + ['rangecontroller_3c_20sinricprowindowac_20_3e_3',['RangeController< SinricProWindowAC >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html',1,'SINRICPRO_3_0_0']]], + ['resetbandscallback_4',['ResetBandsCallback',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html#aa8c78de42c40ee03966f3c96cdc05bab',1,'SINRICPRO_3_0_0']]], + ['restoredevicestates_5',['restoreDeviceStates',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html#a27a9bb7f1e8bde0f39398649493b6f93',1,'SINRICPRO_3_0_0::SinricProClass']]], + ['retrieve_20a_20device_20for_20sending_20an_20event_6',['How to retrieve a device for sending an event?',['../index.html#autotoc_md21',1,'']]], + ['routine_20s_7',['Define callback routine(s)',['../index.html#autotoc_md15',1,'']]], + ['rp2040_8',['SinricPro (ESP8266 / ESP32 / RP2040)',['../index.html',1,'']]] ]; diff --git a/docs/search/classes_0.js b/docs/search/classes_0.js index 0d4fb69..a62d46a 100644 --- a/docs/search/classes_0.js +++ b/docs/search/classes_0.js @@ -1,5 +1,5 @@ var searchData= [ - ['airqualitysensor_220',['AirQualitySensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_air_quality_sensor.html',1,'SINRICPRO_2_9_17']]], - ['airqualitysensor_3c_20sinricproairqualitysensor_20_3e_221',['AirQualitySensor< SinricProAirQualitySensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_air_quality_sensor.html',1,'SINRICPRO_2_9_17']]] + ['airqualitysensor_0',['AirQualitySensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.html',1,'SINRICPRO_3_0_0']]], + ['airqualitysensor_3c_20sinricproairqualitysensor_20_3e_1',['AirQualitySensor< SinricProAirQualitySensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_air_quality_sensor.html',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/classes_1.js b/docs/search/classes_1.js index cfca4eb..476933d 100644 --- a/docs/search/classes_1.js +++ b/docs/search/classes_1.js @@ -1,5 +1,5 @@ var searchData= [ - ['brightnesscontroller_222',['BrightnessController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller.html',1,'SINRICPRO_2_9_17']]], - ['brightnesscontroller_3c_20sinricprolight_20_3e_223',['BrightnessController< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_brightness_controller.html',1,'SINRICPRO_2_9_17']]] + ['brightnesscontroller_0',['BrightnessController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html',1,'SINRICPRO_3_0_0']]], + ['brightnesscontroller_3c_20sinricprolight_20_3e_1',['BrightnessController< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_brightness_controller.html',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/classes_2.js b/docs/search/classes_2.js index 4c8e4d2..007afc2 100644 --- a/docs/search/classes_2.js +++ b/docs/search/classes_2.js @@ -1,11 +1,11 @@ var searchData= [ - ['channelcontroller_224',['ChannelController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html',1,'SINRICPRO_2_9_17']]], - ['channelcontroller_3c_20sinricprotv_20_3e_225',['ChannelController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_channel_controller.html',1,'SINRICPRO_2_9_17']]], - ['colorcontroller_226',['ColorController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_controller.html',1,'SINRICPRO_2_9_17']]], - ['colorcontroller_3c_20sinricprolight_20_3e_227',['ColorController< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_controller.html',1,'SINRICPRO_2_9_17']]], - ['colortemperaturecontroller_228',['ColorTemperatureController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html',1,'SINRICPRO_2_9_17']]], - ['colortemperaturecontroller_3c_20sinricprolight_20_3e_229',['ColorTemperatureController< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_color_temperature_controller.html',1,'SINRICPRO_2_9_17']]], - ['contactsensor_230',['ContactSensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_contact_sensor.html',1,'SINRICPRO_2_9_17']]], - ['contactsensor_3c_20sinricprocontactsensor_20_3e_231',['ContactSensor< SinricProContactsensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_contact_sensor.html',1,'SINRICPRO_2_9_17']]] + ['channelcontroller_0',['ChannelController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html',1,'SINRICPRO_3_0_0']]], + ['channelcontroller_3c_20sinricprotv_20_3e_1',['ChannelController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_channel_controller.html',1,'SINRICPRO_3_0_0']]], + ['colorcontroller_2',['ColorController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html',1,'SINRICPRO_3_0_0']]], + ['colorcontroller_3c_20sinricprolight_20_3e_3',['ColorController< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_controller.html',1,'SINRICPRO_3_0_0']]], + ['colortemperaturecontroller_4',['ColorTemperatureController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html',1,'SINRICPRO_3_0_0']]], + ['colortemperaturecontroller_3c_20sinricprolight_20_3e_5',['ColorTemperatureController< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_color_temperature_controller.html',1,'SINRICPRO_3_0_0']]], + ['contactsensor_6',['ContactSensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.html',1,'SINRICPRO_3_0_0']]], + ['contactsensor_3c_20sinricprocontactsensor_20_3e_7',['ContactSensor< SinricProContactsensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_contact_sensor.html',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/classes_3.js b/docs/search/classes_3.js index 454db62..eae1201 100644 --- a/docs/search/classes_3.js +++ b/docs/search/classes_3.js @@ -1,7 +1,7 @@ var searchData= [ - ['doorbell_232',['Doorbell',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_doorbell.html',1,'SINRICPRO_2_9_17']]], - ['doorbell_3c_20sinricprodoorbell_20_3e_233',['Doorbell< SinricProDoorbell >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_doorbell.html',1,'SINRICPRO_2_9_17']]], - ['doorcontroller_234',['DoorController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_door_controller.html',1,'SINRICPRO_2_9_17']]], - ['doorcontroller_3c_20sinricprogaragedoor_20_3e_235',['DoorController< SinricProGarageDoor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_door_controller.html',1,'SINRICPRO_2_9_17']]] + ['doorbell_0',['Doorbell',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.html',1,'SINRICPRO_3_0_0']]], + ['doorbell_3c_20sinricprodoorbell_20_3e_1',['Doorbell< SinricProDoorbell >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_doorbell.html',1,'SINRICPRO_3_0_0']]], + ['doorcontroller_2',['DoorController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.html',1,'SINRICPRO_3_0_0']]], + ['doorcontroller_3c_20sinricprogaragedoor_20_3e_3',['DoorController< SinricProGarageDoor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_door_controller.html',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/classes_4.js b/docs/search/classes_4.js index 710d247..1429ee4 100644 --- a/docs/search/classes_4.js +++ b/docs/search/classes_4.js @@ -1,5 +1,5 @@ var searchData= [ - ['equalizercontroller_236',['EqualizerController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html',1,'SINRICPRO_2_9_17']]], - ['equalizercontroller_3c_20sinricprospeaker_20_3e_237',['EqualizerController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_equalizer_controller.html',1,'SINRICPRO_2_9_17']]] + ['equalizercontroller_0',['EqualizerController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html',1,'SINRICPRO_3_0_0']]], + ['equalizercontroller_3c_20sinricprospeaker_20_3e_1',['EqualizerController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_equalizer_controller.html',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/classes_5.js b/docs/search/classes_5.js index a1fd2e0..327de72 100644 --- a/docs/search/classes_5.js +++ b/docs/search/classes_5.js @@ -1,6 +1,6 @@ var searchData= [ - ['inputcontroller_238',['InputController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller.html',1,'SINRICPRO_2_9_17']]], - ['inputcontroller_3c_20sinricprospeaker_20_3e_239',['InputController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller.html',1,'SINRICPRO_2_9_17']]], - ['inputcontroller_3c_20sinricprotv_20_3e_240',['InputController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_input_controller.html',1,'SINRICPRO_2_9_17']]] + ['inputcontroller_0',['InputController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html',1,'SINRICPRO_3_0_0']]], + ['inputcontroller_3c_20sinricprospeaker_20_3e_1',['InputController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html',1,'SINRICPRO_3_0_0']]], + ['inputcontroller_3c_20sinricprotv_20_3e_2',['InputController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_input_controller.html',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/classes_6.js b/docs/search/classes_6.js index eec7c72..ba80052 100644 --- a/docs/search/classes_6.js +++ b/docs/search/classes_6.js @@ -1,4 +1,4 @@ var searchData= [ - ['keypadcontroller_241',['KeypadController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_keypad_controller.html',1,'SINRICPRO_2_9_17']]] + ['keypadcontroller_0',['KeypadController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_keypad_controller.html',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/classes_7.js b/docs/search/classes_7.js index a1d286b..e9ed486 100644 --- a/docs/search/classes_7.js +++ b/docs/search/classes_7.js @@ -1,5 +1,5 @@ var searchData= [ - ['lockcontroller_242',['LockController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_lock_controller.html',1,'SINRICPRO_2_9_17']]], - ['lockcontroller_3c_20sinricprolock_20_3e_243',['LockController< SinricProLock >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_lock_controller.html',1,'SINRICPRO_2_9_17']]] + ['lockcontroller_0',['LockController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html',1,'SINRICPRO_3_0_0']]], + ['lockcontroller_3c_20sinricprolock_20_3e_1',['LockController< SinricProLock >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_lock_controller.html',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/classes_8.js b/docs/search/classes_8.js index dcc5378..7eddbb7 100644 --- a/docs/search/classes_8.js +++ b/docs/search/classes_8.js @@ -1,13 +1,13 @@ var searchData= [ - ['mediacontroller_244',['MediaController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller.html',1,'SINRICPRO_2_9_17']]], - ['mediacontroller_3c_20sinricprospeaker_20_3e_245',['MediaController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller.html',1,'SINRICPRO_2_9_17']]], - ['mediacontroller_3c_20sinricprotv_20_3e_246',['MediaController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_media_controller.html',1,'SINRICPRO_2_9_17']]], - ['modecontroller_247',['ModeController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html',1,'SINRICPRO_2_9_17']]], - ['modecontroller_3c_20sinricprospeaker_20_3e_248',['ModeController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mode_controller.html',1,'SINRICPRO_2_9_17']]], - ['motionsensor_249',['MotionSensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_motion_sensor.html',1,'SINRICPRO_2_9_17']]], - ['motionsensor_3c_20sinricpromotionsensor_20_3e_250',['MotionSensor< SinricProMotionsensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_motion_sensor.html',1,'SINRICPRO_2_9_17']]], - ['mutecontroller_251',['MuteController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller.html',1,'SINRICPRO_2_9_17']]], - ['mutecontroller_3c_20sinricprospeaker_20_3e_252',['MuteController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller.html',1,'SINRICPRO_2_9_17']]], - ['mutecontroller_3c_20sinricprotv_20_3e_253',['MuteController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_mute_controller.html',1,'SINRICPRO_2_9_17']]] + ['mediacontroller_0',['MediaController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html',1,'SINRICPRO_3_0_0']]], + ['mediacontroller_3c_20sinricprospeaker_20_3e_1',['MediaController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html',1,'SINRICPRO_3_0_0']]], + ['mediacontroller_3c_20sinricprotv_20_3e_2',['MediaController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_media_controller.html',1,'SINRICPRO_3_0_0']]], + ['modecontroller_3',['ModeController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html',1,'SINRICPRO_3_0_0']]], + ['modecontroller_3c_20sinricprospeaker_20_3e_4',['ModeController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mode_controller.html',1,'SINRICPRO_3_0_0']]], + ['motionsensor_5',['MotionSensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.html',1,'SINRICPRO_3_0_0']]], + ['motionsensor_3c_20sinricpromotionsensor_20_3e_6',['MotionSensor< SinricProMotionsensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_motion_sensor.html',1,'SINRICPRO_3_0_0']]], + ['mutecontroller_7',['MuteController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html',1,'SINRICPRO_3_0_0']]], + ['mutecontroller_3c_20sinricprospeaker_20_3e_8',['MuteController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html',1,'SINRICPRO_3_0_0']]], + ['mutecontroller_3c_20sinricprotv_20_3e_9',['MuteController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_mute_controller.html',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/classes_9.js b/docs/search/classes_9.js index da315d9..26e4711 100644 --- a/docs/search/classes_9.js +++ b/docs/search/classes_9.js @@ -1,47 +1,42 @@ var searchData= [ - ['percentagecontroller_254',['PercentageController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_percentage_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerlevelcontroller_255',['PowerLevelController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerlevelcontroller_3c_20sinricprodimswitch_20_3e_256',['PowerLevelController< SinricProDimSwitch >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerlevelcontroller_3c_20sinricprofan_20_3e_257',['PowerLevelController< SinricProFan >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_level_controller.html',1,'SINRICPRO_2_9_17']]], - ['powersensor_258',['PowerSensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_sensor.html',1,'SINRICPRO_2_9_17']]], - ['powersensor_3c_20sinricpropowersensor_20_3e_259',['PowerSensor< SinricProPowerSensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_sensor.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_260',['PowerStateController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricproairqualitysensor_20_3e_261',['PowerStateController< SinricProAirQualitySensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricproblinds_20_3e_262',['PowerStateController< SinricProBlinds >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprocamera_20_3e_263',['PowerStateController< SinricProCamera >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprocontactsensor_20_3e_264',['PowerStateController< SinricProContactsensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprodimswitch_20_3e_265',['PowerStateController< SinricProDimSwitch >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprodoorbell_20_3e_266',['PowerStateController< SinricProDoorbell >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprofan_20_3e_267',['PowerStateController< SinricProFan >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprofanus_20_3e_268',['PowerStateController< SinricProFanUS >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprolight_20_3e_269',['PowerStateController< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricpromotionsensor_20_3e_270',['PowerStateController< SinricProMotionsensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricpropowersensor_20_3e_271',['PowerStateController< SinricProPowerSensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprospeaker_20_3e_272',['PowerStateController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricproswitch_20_3e_273',['PowerStateController< SinricProSwitch >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprotemperaturesensor_20_3e_274',['PowerStateController< SinricProTemperaturesensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprothermostat_20_3e_275',['PowerStateController< SinricProThermostat >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprotv_20_3e_276',['PowerStateController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['powerstatecontroller_3c_20sinricprowindowac_20_3e_277',['PowerStateController< SinricProWindowAC >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_power_state_controller.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_278',['PushNotification',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricproairqualitysensor_20_3e_279',['PushNotification< SinricProAirQualitySensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricproblinds_20_3e_280',['PushNotification< SinricProBlinds >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprocamera_20_3e_281',['PushNotification< SinricProCamera >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprocontactsensor_20_3e_282',['PushNotification< SinricProContactsensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprodimswitch_20_3e_283',['PushNotification< SinricProDimSwitch >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprodoorbell_20_3e_284',['PushNotification< SinricProDoorbell >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprofan_20_3e_285',['PushNotification< SinricProFan >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprofanus_20_3e_286',['PushNotification< SinricProFanUS >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprogaragedoor_20_3e_287',['PushNotification< SinricProGarageDoor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprolight_20_3e_288',['PushNotification< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprolock_20_3e_289',['PushNotification< SinricProLock >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricpromotionsensor_20_3e_290',['PushNotification< SinricProMotionsensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricpropowersensor_20_3e_291',['PushNotification< SinricProPowerSensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprospeaker_20_3e_292',['PushNotification< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricproswitch_20_3e_293',['PushNotification< SinricProSwitch >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprotemperaturesensor_20_3e_294',['PushNotification< SinricProTemperaturesensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprothermostat_20_3e_295',['PushNotification< SinricProThermostat >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprotv_20_3e_296',['PushNotification< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]], - ['pushnotification_3c_20sinricprowindowac_20_3e_297',['PushNotification< SinricProWindowAC >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_push_notification.html',1,'SINRICPRO_2_9_17']]] + ['percentagecontroller_0',['PercentageController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_percentage_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerlevelcontroller_1',['PowerLevelController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerlevelcontroller_3c_20sinricprodimswitch_20_3e_2',['PowerLevelController< SinricProDimSwitch >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerlevelcontroller_3c_20sinricprofan_20_3e_3',['PowerLevelController< SinricProFan >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_level_controller.html',1,'SINRICPRO_3_0_0']]], + ['powersensor_4',['PowerSensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.html',1,'SINRICPRO_3_0_0']]], + ['powersensor_3c_20sinricpropowersensor_20_3e_5',['PowerSensor< SinricProPowerSensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_sensor.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_6',['PowerStateController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricproblinds_20_3e_7',['PowerStateController< SinricProBlinds >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprocamera_20_3e_8',['PowerStateController< SinricProCamera >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprodimswitch_20_3e_9',['PowerStateController< SinricProDimSwitch >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprodoorbell_20_3e_10',['PowerStateController< SinricProDoorbell >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprofan_20_3e_11',['PowerStateController< SinricProFan >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprofanus_20_3e_12',['PowerStateController< SinricProFanUS >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprolight_20_3e_13',['PowerStateController< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprospeaker_20_3e_14',['PowerStateController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricproswitch_20_3e_15',['PowerStateController< SinricProSwitch >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprothermostat_20_3e_16',['PowerStateController< SinricProThermostat >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprotv_20_3e_17',['PowerStateController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['powerstatecontroller_3c_20sinricprowindowac_20_3e_18',['PowerStateController< SinricProWindowAC >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_power_state_controller.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_19',['PushNotification',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricproairqualitysensor_20_3e_20',['PushNotification< SinricProAirQualitySensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricproblinds_20_3e_21',['PushNotification< SinricProBlinds >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprocamera_20_3e_22',['PushNotification< SinricProCamera >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprocontactsensor_20_3e_23',['PushNotification< SinricProContactsensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprodimswitch_20_3e_24',['PushNotification< SinricProDimSwitch >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprodoorbell_20_3e_25',['PushNotification< SinricProDoorbell >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprofan_20_3e_26',['PushNotification< SinricProFan >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprofanus_20_3e_27',['PushNotification< SinricProFanUS >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprogaragedoor_20_3e_28',['PushNotification< SinricProGarageDoor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprolight_20_3e_29',['PushNotification< SinricProLight >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprolock_20_3e_30',['PushNotification< SinricProLock >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricpromotionsensor_20_3e_31',['PushNotification< SinricProMotionsensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricpropowersensor_20_3e_32',['PushNotification< SinricProPowerSensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprospeaker_20_3e_33',['PushNotification< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricproswitch_20_3e_34',['PushNotification< SinricProSwitch >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprotemperaturesensor_20_3e_35',['PushNotification< SinricProTemperaturesensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprothermostat_20_3e_36',['PushNotification< SinricProThermostat >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprotv_20_3e_37',['PushNotification< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]], + ['pushnotification_3c_20sinricprowindowac_20_3e_38',['PushNotification< SinricProWindowAC >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_push_notification.html',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/classes_a.js b/docs/search/classes_a.js index 948812f..2c071cb 100644 --- a/docs/search/classes_a.js +++ b/docs/search/classes_a.js @@ -1,7 +1,7 @@ var searchData= [ - ['rangecontroller_298',['RangeController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html',1,'SINRICPRO_2_9_17']]], - ['rangecontroller_3c_20sinricproblinds_20_3e_299',['RangeController< SinricProBlinds >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html',1,'SINRICPRO_2_9_17']]], - ['rangecontroller_3c_20sinricprofanus_20_3e_300',['RangeController< SinricProFanUS >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html',1,'SINRICPRO_2_9_17']]], - ['rangecontroller_3c_20sinricprowindowac_20_3e_301',['RangeController< SinricProWindowAC >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_range_controller.html',1,'SINRICPRO_2_9_17']]] + ['rangecontroller_0',['RangeController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html',1,'SINRICPRO_3_0_0']]], + ['rangecontroller_3c_20sinricproblinds_20_3e_1',['RangeController< SinricProBlinds >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html',1,'SINRICPRO_3_0_0']]], + ['rangecontroller_3c_20sinricprofanus_20_3e_2',['RangeController< SinricProFanUS >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html',1,'SINRICPRO_3_0_0']]], + ['rangecontroller_3c_20sinricprowindowac_20_3e_3',['RangeController< SinricProWindowAC >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_range_controller.html',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/classes_b.js b/docs/search/classes_b.js index dc4826d..2441caf 100644 --- a/docs/search/classes_b.js +++ b/docs/search/classes_b.js @@ -1,24 +1,24 @@ var searchData= [ - ['sinricproairqualitysensor_302',['SinricProAirQualitySensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_air_quality_sensor.html',1,'SINRICPRO_2_9_17']]], - ['sinricproblinds_303',['SinricProBlinds',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_blinds.html',1,'SINRICPRO_2_9_17']]], - ['sinricprocamera_304',['SinricProCamera',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_camera.html',1,'SINRICPRO_2_9_17']]], - ['sinricproclass_305',['SinricProClass',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_class.html',1,'SINRICPRO_2_9_17']]], - ['sinricprocontactsensor_306',['SinricProContactsensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_contactsensor.html',1,'SINRICPRO_2_9_17']]], - ['sinricprodevice_307',['SinricProDevice',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_device.html',1,'SINRICPRO_2_9_17']]], - ['sinricprodimswitch_308',['SinricProDimSwitch',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_dim_switch.html',1,'SINRICPRO_2_9_17']]], - ['sinricprodoorbell_309',['SinricProDoorbell',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_doorbell.html',1,'SINRICPRO_2_9_17']]], - ['sinricprofan_310',['SinricProFan',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan.html',1,'SINRICPRO_2_9_17']]], - ['sinricprofanus_311',['SinricProFanUS',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_fan_u_s.html',1,'SINRICPRO_2_9_17']]], - ['sinricprogaragedoor_312',['SinricProGarageDoor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_garage_door.html',1,'SINRICPRO_2_9_17']]], - ['sinricprolight_313',['SinricProLight',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_light.html',1,'SINRICPRO_2_9_17']]], - ['sinricprolock_314',['SinricProLock',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_lock.html',1,'SINRICPRO_2_9_17']]], - ['sinricpromotionsensor_315',['SinricProMotionsensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_motionsensor.html',1,'SINRICPRO_2_9_17']]], - ['sinricpropowersensor_316',['SinricProPowerSensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_power_sensor.html',1,'SINRICPRO_2_9_17']]], - ['sinricprospeaker_317',['SinricProSpeaker',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_speaker.html',1,'SINRICPRO_2_9_17']]], - ['sinricproswitch_318',['SinricProSwitch',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_switch.html',1,'SINRICPRO_2_9_17']]], - ['sinricprotemperaturesensor_319',['SinricProTemperaturesensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_temperaturesensor.html',1,'SINRICPRO_2_9_17']]], - ['sinricprothermostat_320',['SinricProThermostat',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_thermostat.html',1,'SINRICPRO_2_9_17']]], - ['sinricprotv_321',['SinricProTV',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_t_v.html',1,'SINRICPRO_2_9_17']]], - ['sinricprowindowac_322',['SinricProWindowAC',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_sinric_pro_window_a_c.html',1,'SINRICPRO_2_9_17']]] + ['sinricproairqualitysensor_0',['SinricProAirQualitySensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_air_quality_sensor.html',1,'SINRICPRO_3_0_0']]], + ['sinricproblinds_1',['SinricProBlinds',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_blinds.html',1,'SINRICPRO_3_0_0']]], + ['sinricprocamera_2',['SinricProCamera',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_camera.html',1,'SINRICPRO_3_0_0']]], + ['sinricproclass_3',['SinricProClass',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_class.html',1,'SINRICPRO_3_0_0']]], + ['sinricprocontactsensor_4',['SinricProContactsensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_contactsensor.html',1,'SINRICPRO_3_0_0']]], + ['sinricprodevice_5',['SinricProDevice',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_device.html',1,'SINRICPRO_3_0_0']]], + ['sinricprodimswitch_6',['SinricProDimSwitch',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_dim_switch.html',1,'SINRICPRO_3_0_0']]], + ['sinricprodoorbell_7',['SinricProDoorbell',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_doorbell.html',1,'SINRICPRO_3_0_0']]], + ['sinricprofan_8',['SinricProFan',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan.html',1,'SINRICPRO_3_0_0']]], + ['sinricprofanus_9',['SinricProFanUS',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_fan_u_s.html',1,'SINRICPRO_3_0_0']]], + ['sinricprogaragedoor_10',['SinricProGarageDoor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_garage_door.html',1,'SINRICPRO_3_0_0']]], + ['sinricprolight_11',['SinricProLight',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_light.html',1,'SINRICPRO_3_0_0']]], + ['sinricprolock_12',['SinricProLock',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_lock.html',1,'SINRICPRO_3_0_0']]], + ['sinricpromotionsensor_13',['SinricProMotionsensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_motionsensor.html',1,'SINRICPRO_3_0_0']]], + ['sinricpropowersensor_14',['SinricProPowerSensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_power_sensor.html',1,'SINRICPRO_3_0_0']]], + ['sinricprospeaker_15',['SinricProSpeaker',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_speaker.html',1,'SINRICPRO_3_0_0']]], + ['sinricproswitch_16',['SinricProSwitch',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_switch.html',1,'SINRICPRO_3_0_0']]], + ['sinricprotemperaturesensor_17',['SinricProTemperaturesensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_temperaturesensor.html',1,'SINRICPRO_3_0_0']]], + ['sinricprothermostat_18',['SinricProThermostat',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_thermostat.html',1,'SINRICPRO_3_0_0']]], + ['sinricprotv_19',['SinricProTV',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_t_v.html',1,'SINRICPRO_3_0_0']]], + ['sinricprowindowac_20',['SinricProWindowAC',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_sinric_pro_window_a_c.html',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/classes_c.js b/docs/search/classes_c.js index ea23053..82062ff 100644 --- a/docs/search/classes_c.js +++ b/docs/search/classes_c.js @@ -1,10 +1,10 @@ var searchData= [ - ['temperaturesensor_323',['TemperatureSensor',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_temperature_sensor.html',1,'SINRICPRO_2_9_17']]], - ['temperaturesensor_3c_20sinricprotemperaturesensor_20_3e_324',['TemperatureSensor< SinricProTemperaturesensor >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_temperature_sensor.html',1,'SINRICPRO_2_9_17']]], - ['temperaturesensor_3c_20sinricprothermostat_20_3e_325',['TemperatureSensor< SinricProThermostat >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_temperature_sensor.html',1,'SINRICPRO_2_9_17']]], - ['thermostatcontroller_326',['ThermostatController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html',1,'SINRICPRO_2_9_17']]], - ['thermostatcontroller_3c_20sinricprothermostat_20_3e_327',['ThermostatController< SinricProThermostat >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html',1,'SINRICPRO_2_9_17']]], - ['thermostatcontroller_3c_20sinricprowindowac_20_3e_328',['ThermostatController< SinricProWindowAC >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_thermostat_controller.html',1,'SINRICPRO_2_9_17']]], - ['togglecontroller_329',['ToggleController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_toggle_controller.html',1,'SINRICPRO_2_9_17']]] + ['temperaturesensor_0',['TemperatureSensor',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html',1,'SINRICPRO_3_0_0']]], + ['temperaturesensor_3c_20sinricprotemperaturesensor_20_3e_1',['TemperatureSensor< SinricProTemperaturesensor >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html',1,'SINRICPRO_3_0_0']]], + ['temperaturesensor_3c_20sinricprothermostat_20_3e_2',['TemperatureSensor< SinricProThermostat >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_temperature_sensor.html',1,'SINRICPRO_3_0_0']]], + ['thermostatcontroller_3',['ThermostatController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html',1,'SINRICPRO_3_0_0']]], + ['thermostatcontroller_3c_20sinricprothermostat_20_3e_4',['ThermostatController< SinricProThermostat >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html',1,'SINRICPRO_3_0_0']]], + ['thermostatcontroller_3c_20sinricprowindowac_20_3e_5',['ThermostatController< SinricProWindowAC >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_thermostat_controller.html',1,'SINRICPRO_3_0_0']]], + ['togglecontroller_6',['ToggleController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_toggle_controller.html',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/classes_d.js b/docs/search/classes_d.js index eec743e..403193d 100644 --- a/docs/search/classes_d.js +++ b/docs/search/classes_d.js @@ -1,6 +1,6 @@ var searchData= [ - ['volumecontroller_330',['VolumeController',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html',1,'SINRICPRO_2_9_17']]], - ['volumecontroller_3c_20sinricprospeaker_20_3e_331',['VolumeController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html',1,'SINRICPRO_2_9_17']]], - ['volumecontroller_3c_20sinricprotv_20_3e_332',['VolumeController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__2__9__17_1_1_volume_controller.html',1,'SINRICPRO_2_9_17']]] + ['volumecontroller_0',['VolumeController',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html',1,'SINRICPRO_3_0_0']]], + ['volumecontroller_3c_20sinricprospeaker_20_3e_1',['VolumeController< SinricProSpeaker >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html',1,'SINRICPRO_3_0_0']]], + ['volumecontroller_3c_20sinricprotv_20_3e_2',['VolumeController< SinricProTV >',['../class_s_i_n_r_i_c_p_r_o__3__0__0_1_1_volume_controller.html',1,'SINRICPRO_3_0_0']]] ]; diff --git a/docs/search/close.svg b/docs/search/close.svg index a933eea..337d6cc 100644 --- a/docs/search/close.svg +++ b/docs/search/close.svg @@ -1,27 +1,14 @@ + - - - - image/svg+xml - - - - - + + + + + + diff --git a/docs/search/mag_d.svg b/docs/search/mag_d.svg new file mode 100644 index 0000000..4122773 --- /dev/null +++ b/docs/search/mag_d.svg @@ -0,0 +1,24 @@ + + + + + + + diff --git a/docs/search/mag_sel.svg b/docs/search/mag_sel.svg index 03626f6..553dba8 100644 --- a/docs/search/mag_sel.svg +++ b/docs/search/mag_sel.svg @@ -1,59 +1,17 @@ - + - - - - image/svg+xml - - - - - + > - + /> + /> diff --git a/docs/search/mag_seld.svg b/docs/search/mag_seld.svg new file mode 100644 index 0000000..c906f84 --- /dev/null +++ b/docs/search/mag_seld.svg @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/docs/search/namespaces_0.js b/docs/search/namespaces_0.js index def7f6f..c64683a 100644 --- a/docs/search/namespaces_0.js +++ b/docs/search/namespaces_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['sinricpro_5f2_5f9_5f17_333',['SINRICPRO_2_9_17',['../namespace_s_i_n_r_i_c_p_r_o__2__9__17.html',1,'']]] + ['sinricpro_5f3_5f0_5f0_0',['SINRICPRO_3_0_0',['../namespace_s_i_n_r_i_c_p_r_o__3__0__0.html',1,'']]] ]; diff --git a/docs/search/pages_0.js b/docs/search/pages_0.js index d7aaa6f..fe5ef05 100644 --- a/docs/search/pages_0.js +++ b/docs/search/pages_0.js @@ -1,4 +1,5 @@ var searchData= [ - ['sinricpro_20_28esp8266_20_2f_20esp32_20sdk_29_439',['SinricPro (ESP8266 / ESP32 SDK)',['../index.html',1,'']]] + ['esp32_20rp2040_0',['SinricPro (ESP8266 / ESP32 / RP2040)',['../index.html',1,'']]], + ['esp8266_20esp32_20rp2040_1',['SinricPro (ESP8266 / ESP32 / RP2040)',['../index.html',1,'']]] ]; diff --git a/docs/search/pages_1.js b/docs/search/pages_1.js new file mode 100644 index 0000000..f21a22e --- /dev/null +++ b/docs/search/pages_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['rp2040_0',['SinricPro (ESP8266 / ESP32 / RP2040)',['../index.html',1,'']]] +]; diff --git a/docs/search/pages_2.js b/docs/search/pages_2.js new file mode 100644 index 0000000..549248b --- /dev/null +++ b/docs/search/pages_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['sinricpro_20esp8266_20esp32_20rp2040_0',['SinricPro (ESP8266 / ESP32 / RP2040)',['../index.html',1,'']]] +]; diff --git a/docs/search/search.css b/docs/search/search.css index 9074198..19f76f9 100644 --- a/docs/search/search.css +++ b/docs/search/search.css @@ -1,10 +1,33 @@ -/*---------------- Search Box */ +/*---------------- Search Box positioning */ + +#main-menu > li:last-child { + /* This
  • object is the parent of the search bar */ + display: flex; + justify-content: center; + align-items: center; + height: 36px; + margin-right: 1em; +} + +/*---------------- Search box styling */ + +.SRPage * { + font-weight: normal; + line-height: normal; +} + +dark-mode-toggle { + margin-left: 5px; + display: flex; + float: right; +} #MSearchBox { + display: inline-block; white-space : nowrap; - background: white; + background: var(--search-background-color); border-radius: 0.65em; - box-shadow: inset 0.5px 0.5px 3px 0px #555; + box-shadow: var(--search-box-shadow); z-index: 102; } @@ -17,28 +40,47 @@ #MSearchSelect { display: inline-block; vertical-align: middle; - height: 1.4em; - padding: 0 0 0 0.3em; - margin: 0; + width: 20px; + height: 19px; + background-image: var(--search-magnification-select-image); + margin: 0 0 0 0.3em; + padding: 0; +} + +#MSearchSelectExt { + display: inline-block; + vertical-align: middle; + width: 10px; + height: 19px; + background-image: var(--search-magnification-image); + margin: 0 0 0 0.5em; + padding: 0; } + #MSearchField { display: inline-block; vertical-align: middle; width: 7.5em; - height: 1.1em; + height: 19px; margin: 0 0.15em; padding: 0; line-height: 1em; border:none; - color: #909090; + color: var(--search-foreground-color); outline: none; - font-family: Arial, Verdana, sans-serif; + font-family: var(--font-family-search); -webkit-border-radius: 0px; border-radius: 0px; background: none; } +@media(hover: none) { + /* to avoid zooming on iOS */ + #MSearchField { + font-size: 16px; + } +} #MSearchBox .right { display: inline-block; @@ -59,23 +101,15 @@ } #MSearchCloseImg { - height: 1.4em; padding: 0.3em; margin: 0; } .MSearchBoxActive #MSearchField { - color: #000000; + color: var(--search-active-color); } -#main-menu > li:last-child { - /* This
  • object is the parent of the search bar */ - display: flex; - justify-content: center; - align-items: center; - height: 36px; - margin-right: 1em; -} + /*---------------- Search filter selection */ @@ -83,8 +117,8 @@ display: none; position: absolute; left: 0; top: 0; - border: 1px solid #90A5CE; - background-color: #F9FAFC; + border: 1px solid var(--search-filter-border-color); + background-color: var(--search-filter-background-color); z-index: 10001; padding-top: 4px; padding-bottom: 4px; @@ -97,7 +131,7 @@ } .SelectItem { - font: 8pt Arial, Verdana, sans-serif; + font: 8pt var(--font-family-search); padding-left: 2px; padding-right: 12px; border: 0px; @@ -105,7 +139,7 @@ span.SelectionMark { margin-right: 4px; - font-family: monospace; + font-family: var(--font-family-monospace); outline-style: none; text-decoration: none; } @@ -113,7 +147,7 @@ span.SelectionMark { a.SelectItem { display: block; outline-style: none; - color: #000000; + color: var(--search-filter-foreground-color); text-decoration: none; padding-left: 6px; padding-right: 12px; @@ -121,14 +155,14 @@ a.SelectItem { a.SelectItem:focus, a.SelectItem:active { - color: #000000; + color: var(--search-filter-foreground-color); outline-style: none; text-decoration: none; } a.SelectItem:hover { - color: #FFFFFF; - background-color: #3D578C; + color: var(--search-filter-highlight-text-color); + background-color: var(--search-filter-highlight-bg-color); outline-style: none; text-decoration: none; cursor: pointer; @@ -138,7 +172,7 @@ a.SelectItem:hover { /*---------------- Search results window */ iframe#MSearchResults { - width: 60ex; + /*width: 60ex;*/ height: 15em; } @@ -146,9 +180,12 @@ iframe#MSearchResults { display: none; position: absolute; left: 0; top: 0; - border: 1px solid #000; - background-color: #EEF1F7; + border: 1px solid var(--search-results-border-color); + background-color: var(--search-results-background-color); z-index:10000; + width: 300px; + height: 400px; + overflow: auto; } /* ----------------------------------- */ @@ -156,7 +193,6 @@ iframe#MSearchResults { #SRIndex { clear:both; - padding-bottom: 15px; } .SREntry { @@ -169,8 +205,9 @@ iframe#MSearchResults { padding: 1px 5px; } -body.SRPage { +div.SRPage { margin: 5px 2px; + background-color: var(--search-results-background-color); } .SRChildren { @@ -182,17 +219,18 @@ body.SRPage { } .SRSymbol { - font-weight: bold; - color: #425E97; - font-family: Arial, Verdana, sans-serif; + font-weight: bold; + color: var(--search-results-foreground-color); + font-family: var(--font-family-search); text-decoration: none; outline: none; } a.SRScope { display: block; - color: #425E97; - font-family: Arial, Verdana, sans-serif; + color: var(--search-results-foreground-color); + font-family: var(--font-family-search); + font-size: 8pt; text-decoration: none; outline: none; } @@ -204,14 +242,14 @@ a.SRScope:focus, a.SRScope:active { span.SRScope { padding-left: 4px; - font-family: Arial, Verdana, sans-serif; + font-family: var(--font-family-search); } .SRPage .SRStatus { padding: 2px 5px; font-size: 8pt; font-style: italic; - font-family: Arial, Verdana, sans-serif; + font-family: var(--font-family-search); } .SRResult { @@ -225,14 +263,10 @@ div.searchresults { /*---------------- External search page results */ -.searchresult { - background-color: #F0F3F8; -} - .pages b { color: white; padding: 5px 5px 3px 5px; - background-image: url("../tab_a.png"); + background-image: var(--nav-gradient-active-image-parent); background-repeat: repeat-x; text-shadow: 0 1px 1px #000000; } diff --git a/docs/search/search.js b/docs/search/search.js index fb226f7..6fd40c6 100644 --- a/docs/search/search.js +++ b/docs/search/search.js @@ -73,6 +73,8 @@ function getYPos(item) return y; } +var searchResults = new SearchResults("searchResults"); + /* A class handling everything associated with the search panel. Parameters: @@ -80,7 +82,7 @@ function getYPos(item) storing this instance. Is needed to be able to set timeouts. resultPath - path to use for external files */ -function SearchBox(name, resultsPath, inFrame, label, extension) +function SearchBox(name, resultsPath, extension) { if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); } if (!extension || extension == "") { extension = ".html"; } @@ -96,8 +98,6 @@ function SearchBox(name, resultsPath, inFrame, label, extension) this.hideTimeout = 0; this.searchIndex = 0; this.searchActive = false; - this.insideFrame = inFrame; - this.searchLabel = label; this.extension = extension; // ----------- DOM Elements @@ -136,30 +136,14 @@ function SearchBox(name, resultsPath, inFrame, label, extension) var searchSelectWindow = this.DOMSearchSelectWindow(); var searchField = this.DOMSearchSelect(); - if (this.insideFrame) - { - var left = getXPos(searchField); - var top = getYPos(searchField); - left += searchField.offsetWidth + 6; - top += searchField.offsetHeight; - - // show search selection popup - searchSelectWindow.style.display='block'; - left -= searchSelectWindow.offsetWidth; - searchSelectWindow.style.left = left + 'px'; - searchSelectWindow.style.top = top + 'px'; - } - else - { - var left = getXPos(searchField); - var top = getYPos(searchField); - top += searchField.offsetHeight; + var left = getXPos(searchField); + var top = getYPos(searchField); + top += searchField.offsetHeight; - // show search selection popup - searchSelectWindow.style.display='block'; - searchSelectWindow.style.left = left + 'px'; - searchSelectWindow.style.top = top + 'px'; - } + // show search selection popup + searchSelectWindow.style.display='block'; + searchSelectWindow.style.left = left + 'px'; + searchSelectWindow.style.top = top + 'px'; // stop selection hide timer if (this.hideTimeout) @@ -172,7 +156,7 @@ function SearchBox(name, resultsPath, inFrame, label, extension) this.OnSearchSelectHide = function() { - this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()", + this.hideTimeout = setTimeout(this.CloseSelectionWindow.bind(this), this.closeSelectionTimeout); } @@ -205,11 +189,13 @@ function SearchBox(name, resultsPath, inFrame, label, extension) } else { - window.frames.MSearchResults.postMessage("take_focus", "*"); + var elem = searchResults.NavNext(0); + if (elem) elem.focus(); } } else if (e.keyCode==27) // Escape out of the search field { + e.stopPropagation(); this.DOMSearchField().blur(); this.DOMPopupSearchResultsWindow().style.display = 'none'; this.DOMSearchClose().style.display = 'none'; @@ -226,7 +212,7 @@ function SearchBox(name, resultsPath, inFrame, label, extension) if (searchValue != "") // non-empty search { // set timer for search update - this.keyTimeout = setTimeout(this.name + '.Search()', + this.keyTimeout = setTimeout(this.Search.bind(this), this.keyTimeoutLength); } else // empty search field @@ -304,6 +290,7 @@ function SearchBox(name, resultsPath, inFrame, label, extension) } else if (e.keyCode==13 || e.keyCode==27) { + e.stopPropagation(); this.OnSelectItem(this.searchIndex); this.CloseSelectionWindow(); this.DOMSearchField().focus(); @@ -341,55 +328,70 @@ function SearchBox(name, resultsPath, inFrame, label, extension) idxChar = searchValue.substr(0, 2); } - var resultsPage; - var resultsPageWithSearch; - var hasResultsPage; + var jsFile; var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); if (idx!=-1) { var hexCode=idx.toString(16); - resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension; - resultsPageWithSearch = resultsPage+'?'+escape(searchValue); - hasResultsPage = true; + jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js'; } - else // nothing available for this search term - { - resultsPage = this.resultsPath + '/nomatches' + this.extension; - resultsPageWithSearch = resultsPage; - hasResultsPage = false; + + var loadJS = function(url, impl, loc){ + var scriptTag = document.createElement('script'); + scriptTag.src = url; + scriptTag.onload = impl; + scriptTag.onreadystatechange = impl; + loc.appendChild(scriptTag); } - window.frames.MSearchResults.location = resultsPageWithSearch; var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + var domSearchBox = this.DOMSearchBox(); + var domPopupSearchResults = this.DOMPopupSearchResults(); + var domSearchClose = this.DOMSearchClose(); + var resultsPath = this.resultsPath; + + var handleResults = function() { + document.getElementById("Loading").style.display="none"; + if (typeof searchData !== 'undefined') { + createResults(resultsPath); + document.getElementById("NoMatches").style.display="none"; + } + + if (idx!=-1) { + searchResults.Search(searchValue); + } else { // no file with search results => force empty search results + searchResults.Search('===='); + } - if (domPopupSearchResultsWindow.style.display!='block') - { - var domSearchBox = this.DOMSearchBox(); - this.DOMSearchClose().style.display = 'inline-block'; - 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'; - } + if (domPopupSearchResultsWindow.style.display!='block') + { + domSearchClose.style.display = 'inline-block'; + var left = getXPos(domSearchBox) + 150; + var top = getYPos(domSearchBox) + 20; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + var maxWidth = document.body.clientWidth; + var maxHeight = document.body.clientHeight; + var width = 300; + if (left<10) left=10; + if (width+left+8>maxWidth) width=maxWidth-left-8; + var height = 400; + if (height+top+8>maxHeight) height=maxHeight-top-8; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResultsWindow.style.height = height + 'px'; + } + } + + if (jsFile) { + loadJS(jsFile, handleResults, this.DOMPopupSearchResultsWindow()); + } else { + handleResults(); } this.lastSearchValue = searchValue; - this.lastResultsPage = resultsPage; } // -------- Activation Functions @@ -403,22 +405,15 @@ function SearchBox(name, resultsPath, inFrame, label, extension) ) { this.DOMSearchBox().className = 'MSearchBoxActive'; - - var searchField = this.DOMSearchField(); - - if (searchField.value == this.searchLabel) // clear "Search" term upon entry - { - searchField.value = ''; - this.searchActive = true; - } + 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 = ''; + this.DOMSearchField().value = ''; } } } @@ -647,7 +642,7 @@ function SearchResults(name) } else // return focus to search field { - parent.document.getElementById("MSearchField").focus(); + document.getElementById("MSearchField").focus(); } } else if (this.lastKey==40) // Down @@ -677,8 +672,9 @@ function SearchResults(name) } else if (this.lastKey==27) // Escape { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); + e.stopPropagation(); + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); } else if (this.lastKey==13) // Enter { @@ -720,8 +716,9 @@ function SearchResults(name) } else if (this.lastKey==27) // Escape { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); + e.stopPropagation(); + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); } else if (this.lastKey==13) // Enter { @@ -744,9 +741,10 @@ function setClassAttr(elem,attr) elem.setAttribute('className',attr); } -function createResults() +function createResults(resultsPath) { var results = document.getElementById("SRResults"); + results.innerHTML = ''; for (var e=0; eli>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:0/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:0 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:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.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);-moz-border-radius:5px;-webkit-border-radius:5px;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{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;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{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;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{-moz-border-radius:0;-webkit-border-radius:0;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:white;text-shadow:0 1px 1px black}.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;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white 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;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);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:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.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;-moz-border-radius:5px;-webkit-border-radius:5px;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}} \ No newline at end of file +.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:rgba(0,0,0,0)}.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:0/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}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.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:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.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{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;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{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;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{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.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:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.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:var(--nav-gradient-image);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:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) 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 var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);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 var(--nav-menu-foreground-color);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:var(--nav-menu-foreground-color);background-image:none;border:0 !important;color:var(--nav-menu-foreground-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);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 var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) 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;-moz-border-radius:5px;-webkit-border-radius:5px;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:var(--nav-gradient-image)}.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:var(--nav-menu-background-color)}} \ No newline at end of file diff --git a/docs/topics.html b/docs/topics.html new file mode 100644 index 0000000..baabb44 --- /dev/null +++ b/docs/topics.html @@ -0,0 +1,111 @@ + + + + + + + +SinricPro Library: Topics + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    SinricPro Library +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Topics
    +
    +
    +
    Here is a list of all topics with brief descriptions:
    + + + + +
     SinricProMain instance of SinricProClass
     DevicesAvailable devices
     CapabilitiesCapabilities
    +
    +
    +
    + + + + diff --git a/docs/topics.js b/docs/topics.js new file mode 100644 index 0000000..ce12e82 --- /dev/null +++ b/docs/topics.js @@ -0,0 +1,6 @@ +var topics = +[ + [ "SinricPro", "group___sinric_pro.html", "group___sinric_pro" ], + [ "Devices", "group___devices.html", "group___devices" ], + [ "Capabilities", "group___capabilities.html", "group___capabilities" ] +]; \ No newline at end of file