Skip to content

Commit cb5ca6e

Browse files
committed
Merge branch 'dev-2.6.0'
2 parents e157172 + c102bf5 commit cb5ca6e

File tree

77 files changed

+2539
-895
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+2539
-895
lines changed

changelog.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,23 @@
11
# Changelog
2-
## Version 2.5.1
2+
3+
## Version 2.6.0
34
New:
4-
- added IP and MAC address to header
5+
- Devices
6+
- AirQualitySensor
7+
8+
- Examples
9+
- AirQualitySensor
10+
11+
Changed:
12+
- SinricProCamera device type added to support Camera. Camera example updated
513

614
## Version 2.5.0
715
New:
8-
- Speaker device supports SelectInput
16+
- Devices
17+
- Camera
18+
19+
- Examples
20+
- Camera
921

1022
## Version 2.4.0
1123
New:

docs/_sinric_pro_8h_source.html

Lines changed: 59 additions & 55 deletions
Large diffs are not rendered by default.
Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2+
<html xmlns="http://www.w3.org/1999/xhtml">
3+
<head>
4+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5+
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6+
<meta name="generator" content="Doxygen 1.8.16"/>
7+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
8+
<title>SinricPro Library: src/SinricProAirQualitySensor.h Source File</title>
9+
<link href="tabs.css" rel="stylesheet" type="text/css"/>
10+
<script type="text/javascript" src="jquery.js"></script>
11+
<script type="text/javascript" src="dynsections.js"></script>
12+
<link href="navtree.css" rel="stylesheet" type="text/css"/>
13+
<script type="text/javascript" src="resize.js"></script>
14+
<script type="text/javascript" src="navtreedata.js"></script>
15+
<script type="text/javascript" src="navtree.js"></script>
16+
<script type="text/javascript">
17+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
18+
$(document).ready(initResizable);
19+
/* @license-end */</script>
20+
<link href="search/search.css" rel="stylesheet" type="text/css"/>
21+
<script type="text/javascript" src="search/searchdata.js"></script>
22+
<script type="text/javascript" src="search/search.js"></script>
23+
<script type="text/javascript">
24+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
25+
$(document).ready(function() { init_search(); });
26+
/* @license-end */
27+
</script>
28+
<link href="doxygen.css" rel="stylesheet" type="text/css" />
29+
</head>
30+
<body>
31+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
32+
<div id="titlearea">
33+
<table cellspacing="0" cellpadding="0">
34+
<tbody>
35+
<tr style="height: 56px;">
36+
<td id="projectalign" style="padding-left: 0.5em;">
37+
<div id="projectname">SinricPro Library
38+
</div>
39+
</td>
40+
</tr>
41+
</tbody>
42+
</table>
43+
</div>
44+
<!-- end header part -->
45+
<!-- Generated by Doxygen 1.8.16 -->
46+
<script type="text/javascript">
47+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
48+
var searchBox = new SearchBox("searchBox", "search",false,'Search');
49+
/* @license-end */
50+
</script>
51+
<div id="navrow1" class="tabs">
52+
<ul class="tablist">
53+
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
54+
<li><a href="annotated.html"><span>Classes</span></a></li>
55+
<li>
56+
<div id="MSearchBox" class="MSearchBoxInactive">
57+
<span class="left">
58+
<img id="MSearchSelect" src="search/mag_sel.png"
59+
onmouseover="return searchBox.OnSearchSelectShow()"
60+
onmouseout="return searchBox.OnSearchSelectHide()"
61+
alt=""/>
62+
<input type="text" id="MSearchField" value="Search" accesskey="S"
63+
onfocus="searchBox.OnSearchFieldFocus(true)"
64+
onblur="searchBox.OnSearchFieldFocus(false)"
65+
onkeyup="searchBox.OnSearchFieldChange(event)"/>
66+
</span><span class="right">
67+
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
68+
</span>
69+
</div>
70+
</li>
71+
</ul>
72+
</div>
73+
</div><!-- top -->
74+
<div id="side-nav" class="ui-resizable side-nav-resizable">
75+
<div id="nav-tree">
76+
<div id="nav-tree-contents">
77+
<div id="nav-sync" class="sync"></div>
78+
</div>
79+
</div>
80+
<div id="splitbar" style="-moz-user-select:none;"
81+
class="ui-resizable-handle">
82+
</div>
83+
</div>
84+
<script type="text/javascript">
85+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
86+
$(document).ready(function(){initNavTree('_sinric_pro_air_quality_sensor_8h_source.html','');});
87+
/* @license-end */
88+
</script>
89+
<div id="doc-content">
90+
<!-- window showing the filter options -->
91+
<div id="MSearchSelectWindow"
92+
onmouseover="return searchBox.OnSearchSelectShow()"
93+
onmouseout="return searchBox.OnSearchSelectHide()"
94+
onkeydown="return searchBox.OnSearchSelectKey(event)">
95+
</div>
96+
97+
<!-- iframe showing the search results (closed by default) -->
98+
<div id="MSearchResultsWindow">
99+
<iframe src="javascript:void(0)" frameborder="0"
100+
name="MSearchResults" id="MSearchResults">
101+
</iframe>
102+
</div>
103+
104+
<div class="header">
105+
<div class="headertitle">
106+
<div class="title">SinricProAirQualitySensor.h</div> </div>
107+
</div><!--header-->
108+
<div class="contents">
109+
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
110+
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright (c) 2019 Sinric. All rights reserved.</span></div>
111+
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)</span></div>
112+
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
113+
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This file is part of the Sinric Pro (https://github.com/sinricpro/)</span></div>
114+
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> */</span></div>
115+
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; </div>
116+
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#ifndef _SINRICAIRQUALITYSENSOR_H_</span></div>
117+
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#define _SINRICAIRQUALITYSENSOR_H_</span></div>
118+
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; </div>
119+
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;SinricProDevice.h&quot;</span></div>
120+
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; </div>
121+
<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="class_sinric_pro_air_quality_sensor.html"> 17</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_sinric_pro_air_quality_sensor.html">SinricProAirQualitySensor</a> : <span class="keyword">public</span> <a class="code" href="class_sinric_pro_device.html">SinricProDevice</a> {</div>
122+
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <span class="keyword">public</span>:</div>
123+
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <a class="code" href="class_sinric_pro_air_quality_sensor.html">SinricProAirQualitySensor</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* deviceId, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> eventWaitTime=100);</div>
124+
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; String getProductType() { <span class="keywordflow">return</span> SinricProDevice::getProductType() + String(<span class="stringliteral">&quot;AIR_QUALITY_SENSOR&quot;</span>); }</div>
125+
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
126+
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="comment">// event</span></div>
127+
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_sinric_pro_air_quality_sensor.html#a3836e4dca79c1563fcdae880bb368323">sendAirQualityEvent</a>(<span class="keywordtype">int</span> pm1=0, <span class="keywordtype">int</span> pm2_5=0, <span class="keywordtype">int</span> pm10=0, String cause = <span class="stringliteral">&quot;PERIODIC_POLL&quot;</span>);</div>
128+
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="keyword">private</span>:</div>
129+
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;};</div>
130+
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; </div>
131+
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;SinricProAirQualitySensor::SinricProAirQualitySensor(<span class="keyword">const</span> <span class="keywordtype">char</span>* deviceId, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> eventWaitTime) : <a class="code" href="class_sinric_pro_device.html">SinricProDevice</a>(deviceId, eventWaitTime) {}</div>
132+
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; </div>
133+
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="class_sinric_pro_air_quality_sensor.html#a3836e4dca79c1563fcdae880bb368323"> 40</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="class_sinric_pro_air_quality_sensor.html#a3836e4dca79c1563fcdae880bb368323">SinricProAirQualitySensor::sendAirQualityEvent</a>(<span class="keywordtype">int</span> pm1, <span class="keywordtype">int</span> pm2_5, <span class="keywordtype">int</span> pm10, String cause) {</div>
134+
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; DynamicJsonDocument eventMessage = prepareEvent(deviceId, <span class="stringliteral">&quot;airQuality&quot;</span>, cause.c_str());</div>
135+
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; JsonObject event_value = eventMessage[<span class="stringliteral">&quot;payload&quot;</span>][<span class="stringliteral">&quot;value&quot;</span>];</div>
136+
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; </div>
137+
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; event_value[<span class="stringliteral">&quot;pm1&quot;</span>] = limitValue(pm1, 0, 999);</div>
138+
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; event_value[<span class="stringliteral">&quot;pm2_5&quot;</span>] = limitValue(pm2_5, 0, 999);</div>
139+
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; event_value[<span class="stringliteral">&quot;pm10&quot;</span>] = limitValue(pm10, 0, 999);</div>
140+
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
141+
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">return</span> sendEvent(eventMessage);</div>
142+
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;}</div>
143+
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div>
144+
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#endif</span></div>
145+
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div>
146+
</div><!-- fragment --></div><!-- contents -->
147+
</div><!-- doc-content -->
148+
<div class="ttc" id="aclass_sinric_pro_air_quality_sensor_html_a3836e4dca79c1563fcdae880bb368323"><div class="ttname"><a href="class_sinric_pro_air_quality_sensor.html#a3836e4dca79c1563fcdae880bb368323">SinricProAirQualitySensor::sendAirQualityEvent</a></div><div class="ttdeci">bool sendAirQualityEvent(int pm1=0, int pm2_5=0, int pm10=0, String cause=&quot;PERIODIC_POLL&quot;)</div><div class="ttdoc">Sending air quality to SinricPro server.</div><div class="ttdef"><b>Definition:</b> SinricProAirQualitySensor.h:40</div></div>
149+
<div class="ttc" id="aclass_sinric_pro_air_quality_sensor_html"><div class="ttname"><a href="class_sinric_pro_air_quality_sensor.html">SinricProAirQualitySensor</a></div><div class="ttdoc">Device to report air quality events.</div><div class="ttdef"><b>Definition:</b> SinricProAirQualitySensor.h:17</div></div>
150+
<div class="ttc" id="aclass_sinric_pro_device_html"><div class="ttname"><a href="class_sinric_pro_device.html">SinricProDevice</a></div><div class="ttdoc">Base class for all device types.</div><div class="ttdef"><b>Definition:</b> SinricProDevice.h:23</div></div>
151+
<!-- start footer part -->
152+
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
153+
<ul>
154+
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><b>SinricProAirQualitySensor.h</b></li>
155+
<li class="footer">Generated by
156+
<a href="http://www.doxygen.org/index.html">
157+
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
158+
</ul>
159+
</div>
160+
</body>
161+
</html>

0 commit comments

Comments
 (0)