mirror of
https://github.com/alexhopeoconnor/arduino-home-assistant.git
synced 2026-10-04 02:48:13 +10:00
HASensor improvements (#222)
* added support for setting None value in the HASensor * added support for the expire_after property in the HASensor * update readme and docs * added expire_after property in the HABinarySensor * increase default device types limit to 24 on non ATMega328/168 processors * added support for the JSON attributes in the HASensor
This commit is contained in:
@@ -159,7 +159,7 @@
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt6HAMqttER6ClientR8HADeviceK7uint8_t">
|
||||
<span id="_CPPv3N6HAMqtt6HAMqttER6ClientR8HADeviceK7uint8_t"></span><span id="_CPPv2N6HAMqtt6HAMqttER6ClientR8HADeviceK7uint8_t"></span><span id="HAMqtt::HAMqtt__ClientR.HADeviceR.uint8_tC"></span><span class="target" id="class_h_a_mqtt_1a336b9511591544e2642451aae3c174fd"></span><span class="k"><span class="pre">explicit</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">HAMqtt</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">Client</span></span><span class="w"> </span><span class="p"><span class="pre">&</span></span><span class="n sig-param"><span class="pre">netClient</span></span>, <a class="reference internal" href="ha-device.html#_CPPv48HADevice" title="HADevice"><span class="n"><span class="pre">HADevice</span></span></a><span class="w"> </span><span class="p"><span class="pre">&</span></span><span class="n sig-param"><span class="pre">device</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">maxDevicesTypesNb</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">6</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N6HAMqtt6HAMqttER6ClientR8HADeviceK7uint8_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<span id="_CPPv3N6HAMqtt6HAMqttER6ClientR8HADeviceK7uint8_t"></span><span id="_CPPv2N6HAMqtt6HAMqttER6ClientR8HADeviceK7uint8_t"></span><span id="HAMqtt::HAMqtt__ClientR.HADeviceR.uint8_tC"></span><span class="target" id="class_h_a_mqtt_1a404d7041521e1f10bf250b439abc9048"></span><span class="k"><span class="pre">explicit</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">HAMqtt</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">Client</span></span><span class="w"> </span><span class="p"><span class="pre">&</span></span><span class="n sig-param"><span class="pre">netClient</span></span>, <a class="reference internal" href="ha-device.html#_CPPv48HADevice" title="HADevice"><span class="n"><span class="pre">HADevice</span></span></a><span class="w"> </span><span class="p"><span class="pre">&</span></span><span class="n sig-param"><span class="pre">device</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">maxDevicesTypesNb</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">24</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N6HAMqtt6HAMqttER6ClientR8HADeviceK7uint8_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Creates a new instance of the <a class="reference internal" href="#class_h_a_mqtt"><span class="std std-ref">HAMqtt</span></a> class. Please note that only one instance of the class can be initialized at the same time.</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
|
||||
@@ -188,6 +188,17 @@
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N14HABinarySensor14setExpireAfterE8uint16_t">
|
||||
<span id="_CPPv3N14HABinarySensor14setExpireAfterE8uint16_t"></span><span id="_CPPv2N14HABinarySensor14setExpireAfterE8uint16_t"></span><span id="HABinarySensor::setExpireAfter__uint16_t"></span><span class="target" id="class_h_a_binary_sensor_1a684beba9239222e44e998f8baea41da4"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setExpireAfter</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">expireAfter</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N14HABinarySensor14setExpireAfterE8uint16_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Sets the number of seconds after the sensor’s state expires, if it’s not updated. By default the sensors state never expires.</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><p><strong>expireAfter</strong> – The number of seconds. </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N14HABinarySensor15setCurrentStateEKb">
|
||||
<span id="_CPPv3N14HABinarySensor15setCurrentStateEKb"></span><span id="_CPPv2N14HABinarySensor15setCurrentStateEKb"></span><span id="HABinarySensor::setCurrentState__bC"></span><span class="target" id="class_h_a_binary_sensor_1a04aa233b543a5d08559de0b772331ced"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setCurrentState</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">state</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N14HABinarySensor15setCurrentStateEKb" title="Permalink to this definition">¶</a><br /></dt>
|
||||
@@ -272,6 +283,12 @@
|
||||
<dd><p>The icon of the sensor. It can be nullptr. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N14HABinarySensor12_expireAfterE">
|
||||
<span id="_CPPv3N14HABinarySensor12_expireAfterE"></span><span id="_CPPv2N14HABinarySensor12_expireAfterE"></span><span id="HABinarySensor::_expireAfter__HANumeric"></span><span class="target" id="class_h_a_binary_sensor_1a644e21f52a160a702c3124070722315a"></span><a class="reference internal" href="../utils/ha-numeric.html#_CPPv49HANumeric" title="HANumeric"><span class="n"><span class="pre">HANumeric</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">_expireAfter</span></span></span><a class="headerlink" href="#_CPPv4N14HABinarySensor12_expireAfterE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>It defines the number of seconds after the sensor’s state expires, if it’s not updated. By default the sensors state never expires. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N14HABinarySensor13_currentStateE">
|
||||
<span id="_CPPv3N14HABinarySensor13_currentStateE"></span><span id="_CPPv2N14HABinarySensor13_currentStateE"></span><span id="HABinarySensor::_currentState__b"></span><span class="target" id="class_h_a_binary_sensor_1a107a5872cf1d9788fe35895278dad79e"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">_currentState</span></span></span><a class="headerlink" href="#_CPPv4N14HABinarySensor13_currentStateE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
|
||||
@@ -162,13 +162,14 @@
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N14HASensorNumber14HASensorNumberEPKcK15NumberPrecision">
|
||||
<span id="_CPPv3N14HASensorNumber14HASensorNumberEPKcK15NumberPrecision"></span><span id="_CPPv2N14HASensorNumber14HASensorNumberEPKcK15NumberPrecision"></span><span id="HASensorNumber::HASensorNumber__cCP.NumberPrecisionC"></span><span class="target" id="class_h_a_sensor_number_1ad25fdeb579c1459fd3f57218825b13c1"></span><span class="sig-name descname"><span class="n"><span class="pre">HASensorNumber</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">uniqueId</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">NumberPrecision</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">precision</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">PrecisionP0</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N14HASensorNumber14HASensorNumberEPKcK15NumberPrecision" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N14HASensorNumber14HASensorNumberEPKcK15NumberPrecisionK8uint16_t">
|
||||
<span id="_CPPv3N14HASensorNumber14HASensorNumberEPKcK15NumberPrecisionK8uint16_t"></span><span id="_CPPv2N14HASensorNumber14HASensorNumberEPKcK15NumberPrecisionK8uint16_t"></span><span id="HASensorNumber::HASensorNumber__cCP.NumberPrecisionC.uint16_tC"></span><span class="target" id="class_h_a_sensor_number_1aee8b279589d82b660fb41c223a80053e"></span><span class="sig-name descname"><span class="n"><span class="pre">HASensorNumber</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">uniqueId</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">NumberPrecision</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">precision</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">PrecisionP0</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">features</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">DefaultFeatures</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N14HASensorNumber14HASensorNumberEPKcK15NumberPrecisionK8uint16_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>uniqueId</strong> – The unique ID of the sensor. It needs to be unique in a scope of your device. </p></li>
|
||||
<li><p><strong>precision</strong> – Precision of the floating point number that will be displayed in the HA panel. </p></li>
|
||||
<li><p><strong>features</strong> – Features that should be enabled for the sensor. </p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
@@ -165,13 +165,35 @@
|
||||
</div>
|
||||
<p>Subclassed by <a class="reference internal" href="ha-sensor-number.html#class_h_a_sensor_number"><span class="std std-ref">HASensorNumber</span></a></p>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-types">Public Types</p>
|
||||
<dl class="cpp enum">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N8HASensor8FeaturesE">
|
||||
<span id="_CPPv3N8HASensor8FeaturesE"></span><span id="_CPPv2N8HASensor8FeaturesE"></span><span class="target" id="class_h_a_sensor_1a4ecda1d1c6f4aff1ed7e152e38cf3805"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Features</span></span></span><a class="headerlink" href="#_CPPv4N8HASensor8FeaturesE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p><em>Values:</em></p>
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N8HASensor8Features15DefaultFeaturesE">
|
||||
<span id="_CPPv3N8HASensor8Features15DefaultFeaturesE"></span><span id="_CPPv2N8HASensor8Features15DefaultFeaturesE"></span><span class="target" id="class_h_a_sensor_1a4ecda1d1c6f4aff1ed7e152e38cf3805acd369f5847d0304db292abba0235f58d"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">DefaultFeatures</span></span></span><a class="headerlink" href="#_CPPv4N8HASensor8Features15DefaultFeaturesE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N8HASensor8Features21JsonAttributesFeatureE">
|
||||
<span id="_CPPv3N8HASensor8Features21JsonAttributesFeatureE"></span><span id="_CPPv2N8HASensor8Features21JsonAttributesFeatureE"></span><span class="target" id="class_h_a_sensor_1a4ecda1d1c6f4aff1ed7e152e38cf3805a6581398db98868d5a764cce46b9b46ae"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">JsonAttributesFeature</span></span></span><a class="headerlink" href="#_CPPv4N8HASensor8Features21JsonAttributesFeatureE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N8HASensor8HASensorEPKc">
|
||||
<span id="_CPPv3N8HASensor8HASensorEPKc"></span><span id="_CPPv2N8HASensor8HASensorEPKc"></span><span id="HASensor::HASensor__cCP"></span><span class="target" id="class_h_a_sensor_1ae03b7288c4b75fdd65d2714c3f57ab99"></span><span class="sig-name descname"><span class="n"><span class="pre">HASensor</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">uniqueId</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8HASensor8HASensorEPKc" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N8HASensor8HASensorEPKcK8uint16_t">
|
||||
<span id="_CPPv3N8HASensor8HASensorEPKcK8uint16_t"></span><span id="_CPPv2N8HASensor8HASensorEPKcK8uint16_t"></span><span id="HASensor::HASensor__cCP.uint16_tC"></span><span class="target" id="class_h_a_sensor_1a96c8105258c10db536fdbd8e4c8004d4"></span><span class="sig-name descname"><span class="n"><span class="pre">HASensor</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">uniqueId</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">features</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N8HASensor8Features15DefaultFeaturesE" title="HASensor::DefaultFeatures"><span class="n"><span class="pre">DefaultFeatures</span></span></a><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8HASensor8HASensorEPKcK8uint16_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><p><strong>uniqueId</strong> – The unique ID of the sensor. It needs to be unique in a scope of your device. </p>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>uniqueId</strong> – The unique ID of the sensor. It needs to be unique in a scope of your device. </p></li>
|
||||
<li><p><strong>features</strong> – Features that should be enabled for the sensor. </p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
@@ -190,6 +212,28 @@
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N8HASensor17setJsonAttributesEPKc">
|
||||
<span id="_CPPv3N8HASensor17setJsonAttributesEPKc"></span><span id="_CPPv2N8HASensor17setJsonAttributesEPKc"></span><span id="HASensor::setJsonAttributes__cCP"></span><span class="target" id="class_h_a_sensor_1a04e4a413bfae54813f42fb97b6473193"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setJsonAttributes</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">json</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8HASensor17setJsonAttributesEPKc" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Publishes the given JSON data on the JSON attributes topic. The <code class="docutils literal notranslate"><span class="pre">JsonAttributesFeature</span></code> has to be enabled prior to setting the value.</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><p><strong>json</strong> – JSON attributes. </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N8HASensor14setExpireAfterE8uint16_t">
|
||||
<span id="_CPPv3N8HASensor14setExpireAfterE8uint16_t"></span><span id="_CPPv2N8HASensor14setExpireAfterE8uint16_t"></span><span id="HASensor::setExpireAfter__uint16_t"></span><span class="target" id="class_h_a_sensor_1a11af92c3452c511596c63dbc00baed6e"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setExpireAfter</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">expireAfter</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8HASensor14setExpireAfterE8uint16_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Sets the number of seconds after the sensor’s state expires, if it’s not updated. By default the sensors state never expires.</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><p><strong>expireAfter</strong> – The number of seconds. </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N8HASensor14setDeviceClassEPKc">
|
||||
<span id="_CPPv3N8HASensor14setDeviceClassEPKc"></span><span id="_CPPv2N8HASensor14setDeviceClassEPKc"></span><span id="HASensor::setDeviceClass__cCP"></span><span class="target" id="class_h_a_sensor_1a8e2ffcb1ae1bb7411464a34d27df8817"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setDeviceClass</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">deviceClass</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8HASensor14setDeviceClassEPKc" title="Permalink to this definition">¶</a><br /></dt>
|
||||
@@ -261,6 +305,12 @@
|
||||
</div>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-private-members">Private Members</p>
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N8HASensor9_featuresE">
|
||||
<span id="_CPPv3N8HASensor9_featuresE"></span><span id="_CPPv2N8HASensor9_featuresE"></span><span id="HASensor::_features__uint16_tC"></span><span class="target" id="class_h_a_sensor_1ac3e98af19f840be7cd9aec9d5854c051"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">_features</span></span></span><a class="headerlink" href="#_CPPv4N8HASensor9_featuresE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Features enabled for the sensor. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N8HASensor12_deviceClassE">
|
||||
<span id="_CPPv3N8HASensor12_deviceClassE"></span><span id="_CPPv2N8HASensor12_deviceClassE"></span><span id="HASensor::_deviceClass__cCP"></span><span class="target" id="class_h_a_sensor_1a42ff8d2271f7728acf2fb349595862f0"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">_deviceClass</span></span></span><a class="headerlink" href="#_CPPv4N8HASensor12_deviceClassE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
@@ -291,6 +341,12 @@
|
||||
<dd><p>The unit of measurement for the sensor. It can be nullptr. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N8HASensor12_expireAfterE">
|
||||
<span id="_CPPv3N8HASensor12_expireAfterE"></span><span id="_CPPv2N8HASensor12_expireAfterE"></span><span id="HASensor::_expireAfter__HANumeric"></span><span class="target" id="class_h_a_sensor_1a695e13ee19b2ca57a2f61f8d1021612c"></span><a class="reference internal" href="../utils/ha-numeric.html#_CPPv49HANumeric" title="HANumeric"><span class="n"><span class="pre">HANumeric</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">_expireAfter</span></span></span><a class="headerlink" href="#_CPPv4N8HASensor12_expireAfterE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>It defines the number of seconds after the sensor’s state expires, if it’s not updated. By default the sensors state never expires. </p>
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
@@ -253,7 +253,7 @@ This feature incorporates the device’s unique ID as a prefix for the device ty
|
||||
<p>Registering a new device type involves utilizing a certain amount of flash and RAM memory.
|
||||
On less powerful units, such as the Arduino Uno, you may rapidly reach the resource limit.
|
||||
Therefore, it is advisable to keep the device simple to avoid hitting the resource limit, which could lead to random reboots of the device.</p>
|
||||
<p>By default, the maximum number of device types is 6.
|
||||
<p>By default, devices utilizing ATmega328P or ATmega168 processors are limited to a maximum of 6 device types, while other platforms can support up to 24 device types.
|
||||
You can increase the limit using the <a class="reference internal" href="../api/core/ha-mqtt.html"><span class="doc">HAMqtt</span></a> class constructor as follows:</p>
|
||||
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="cp">#include</span><span class="w"> </span><span class="cpf"><Ethernet.h></span><span class="cp"></span>
|
||||
<span class="cp">#include</span><span class="w"> </span><span class="cpf"><ArduinoHA.h></span><span class="cp"></span>
|
||||
@@ -261,7 +261,7 @@ You can increase the limit using the <a class="reference internal" href="../api/
|
||||
<span class="n">byte</span><span class="w"> </span><span class="n">mac</span><span class="p">[]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="mh">0x00</span><span class="p">,</span><span class="w"> </span><span class="mh">0x10</span><span class="p">,</span><span class="w"> </span><span class="mh">0xFA</span><span class="p">,</span><span class="w"> </span><span class="mh">0x6E</span><span class="p">,</span><span class="w"> </span><span class="mh">0x38</span><span class="p">,</span><span class="w"> </span><span class="mh">0x4A</span><span class="p">};</span><span class="w"></span>
|
||||
<span class="n">EthernetClient</span><span class="w"> </span><span class="n">client</span><span class="p">;</span><span class="w"></span>
|
||||
<span class="n">HADevice</span><span class="w"> </span><span class="nf">device</span><span class="p">(</span><span class="n">mac</span><span class="p">,</span><span class="w"> </span><span class="k">sizeof</span><span class="p">(</span><span class="n">mac</span><span class="p">));</span><span class="w"></span>
|
||||
<span class="n">HAMqtt</span><span class="w"> </span><span class="nf">mqtt</span><span class="p">(</span><span class="n">client</span><span class="p">,</span><span class="w"> </span><span class="n">device</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">);</span><span class="w"> </span><span class="c1">// <------------ 12 is a new limit of device types</span>
|
||||
<span class="n">HAMqtt</span><span class="w"> </span><span class="nf">mqtt</span><span class="p">(</span><span class="n">client</span><span class="p">,</span><span class="w"> </span><span class="n">device</span><span class="p">,</span><span class="w"> </span><span class="mi">40</span><span class="p">);</span><span class="w"> </span><span class="c1">// <------------ 40 is a new limit of device types</span>
|
||||
|
||||
<span class="kt">void</span><span class="w"> </span><span class="nf">setup</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">Ethernet</span><span class="p">.</span><span class="n">begin</span><span class="p">(</span><span class="n">mac</span><span class="p">);</span><span class="w"></span>
|
||||
@@ -294,30 +294,38 @@ You can increase the limit using the <a class="reference internal" href="../api/
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p>Binary sensor</p></td>
|
||||
<tr class="row-even"><td><p>Alarm control panel</p></td>
|
||||
<td><p>❌</p></td>
|
||||
<td><p>–</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>Binary sensor</p></td>
|
||||
<td><p>✅</p></td>
|
||||
<td><p><a class="reference internal" href="../api/device-types/ha-binary-sensor.html"><span class="doc">HABinarySensor</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>Button</p></td>
|
||||
<tr class="row-even"><td><p>Button</p></td>
|
||||
<td><p>✅</p></td>
|
||||
<td><p><a class="reference internal" href="../api/device-types/ha-button.html"><span class="doc">HAButton</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>Camera</p></td>
|
||||
<tr class="row-odd"><td><p>Camera</p></td>
|
||||
<td><p>✅</p></td>
|
||||
<td><p><a class="reference internal" href="../api/device-types/ha-camera.html"><span class="doc">HACamera</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>Cover</p></td>
|
||||
<tr class="row-even"><td><p>Cover</p></td>
|
||||
<td><p>✅</p></td>
|
||||
<td><p><a class="reference internal" href="../api/device-types/ha-cover.html"><span class="doc">HACover</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>Device tracker</p></td>
|
||||
<tr class="row-odd"><td><p>Device tracker</p></td>
|
||||
<td><p>✅</p></td>
|
||||
<td><p><a class="reference internal" href="../api/device-types/ha-device-tracker.html"><span class="doc">HADeviceTracker</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>Device trigger</p></td>
|
||||
<tr class="row-even"><td><p>Device trigger</p></td>
|
||||
<td><p>✅</p></td>
|
||||
<td><p><a class="reference internal" href="../api/device-types/ha-device-trigger.html"><span class="doc">HADeviceTrigger</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>Event</p></td>
|
||||
<td><p>❌</p></td>
|
||||
<td><p>–</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>Fan</p></td>
|
||||
<td><p>✅</p></td>
|
||||
<td><p><a class="reference internal" href="../api/device-types/ha-fan.html"><span class="doc">HAFan</span></a></p></td>
|
||||
@@ -330,52 +338,76 @@ You can increase the limit using the <a class="reference internal" href="../api/
|
||||
<td><p>✅</p></td>
|
||||
<td><p><a class="reference internal" href="../api/device-types/ha-hvac.html"><span class="doc">HAHVAC</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>Light</p></td>
|
||||
<tr class="row-odd"><td><p>Lawn mower</p></td>
|
||||
<td><p>❌</p></td>
|
||||
<td><p>–</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>Light</p></td>
|
||||
<td><p>✅</p></td>
|
||||
<td><p><a class="reference internal" href="../api/device-types/ha-light.html"><span class="doc">HALight</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>Lock</p></td>
|
||||
<tr class="row-odd"><td><p>Lock</p></td>
|
||||
<td><p>✅</p></td>
|
||||
<td><p><a class="reference internal" href="../api/device-types/ha-lock.html"><span class="doc">HALock</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>Number</p></td>
|
||||
<tr class="row-even"><td><p>Number</p></td>
|
||||
<td><p>✅</p></td>
|
||||
<td><p><a class="reference internal" href="../api/device-types/ha-number.html"><span class="doc">HANumber</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>Scene</p></td>
|
||||
<tr class="row-odd"><td><p>Scene</p></td>
|
||||
<td><p>✅</p></td>
|
||||
<td><p><a class="reference internal" href="../api/device-types/ha-scene.html"><span class="doc">HAScene</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>Select</p></td>
|
||||
<tr class="row-even"><td><p>Select</p></td>
|
||||
<td><p>✅</p></td>
|
||||
<td><p><a class="reference internal" href="../api/device-types/ha-select.html"><span class="doc">HASelect</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><div class="line-block">
|
||||
<tr class="row-odd"><td><div class="line-block">
|
||||
<div class="line">Sensor (text)</div>
|
||||
</div>
|
||||
</td>
|
||||
<td><p>✅</p></td>
|
||||
<td><p><a class="reference internal" href="../api/device-types/ha-sensor.html"><span class="doc">HASensor</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><div class="line-block">
|
||||
<tr class="row-even"><td><div class="line-block">
|
||||
<div class="line">Sensor (number)</div>
|
||||
</div>
|
||||
</td>
|
||||
<td><p>✅</p></td>
|
||||
<td><p><a class="reference internal" href="../api/device-types/ha-sensor-number.html"><span class="doc">HASensorNumber</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>Siren</p></td>
|
||||
<td><p>❌</p></td>
|
||||
<td><p>–</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>Switch</p></td>
|
||||
<td><p>✅</p></td>
|
||||
<td><p><a class="reference internal" href="../api/device-types/ha-switch.html"><span class="doc">HASwitch</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>Tag scanner</p></td>
|
||||
<tr class="row-odd"><td><p>Update</p></td>
|
||||
<td><p>❌</p></td>
|
||||
<td><p>–</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>Tag scanner</p></td>
|
||||
<td><p>✅</p></td>
|
||||
<td><p><a class="reference internal" href="../api/device-types/ha-tag-scanner.html"><span class="doc">HATagScanner</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>Text</p></td>
|
||||
<td><p>❌</p></td>
|
||||
<td><p>–</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>Vacuum</p></td>
|
||||
<td><p>❌</p></td>
|
||||
<td><p>–</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>Valve</p></td>
|
||||
<td><p>❌</p></td>
|
||||
<td><p>–</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>Water heater</p></td>
|
||||
<td><p>❌</p></td>
|
||||
<td><p>–</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
+22
-4
@@ -214,6 +214,8 @@
|
||||
<li><a href="documents/api/device-types/ha-binary-sensor.html#_CPPv4N14HABinarySensor6_classE">HABinarySensor::_class (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-binary-sensor.html#_CPPv4N14HABinarySensor13_currentStateE">HABinarySensor::_currentState (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-binary-sensor.html#_CPPv4N14HABinarySensor12_expireAfterE">HABinarySensor::_expireAfter (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-binary-sensor.html#_CPPv4N14HABinarySensor5_iconE">HABinarySensor::_icon (C++ member)</a>
|
||||
</li>
|
||||
@@ -230,6 +232,8 @@
|
||||
<li><a href="documents/api/device-types/ha-binary-sensor.html#_CPPv4N14HABinarySensor15setCurrentStateEKb">HABinarySensor::setCurrentState (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-binary-sensor.html#_CPPv4N14HABinarySensor14setDeviceClassEPKc">HABinarySensor::setDeviceClass (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-binary-sensor.html#_CPPv4N14HABinarySensor14setExpireAfterE8uint16_t">HABinarySensor::setExpireAfter (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-binary-sensor.html#_CPPv4N14HABinarySensor7setIconEPKc">HABinarySensor::setIcon (C++ function)</a>
|
||||
</li>
|
||||
@@ -869,14 +873,14 @@
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-hvac.html#_CPPv4N6HAHVAC15TemperatureUnit14FahrenheitUnitE">HAHVAC::TemperatureUnit::FahrenheitUnit (C++ enumerator)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="documents/api/device-types/ha-hvac.html#_CPPv4N6HAHVACD0Ev">HAHVAC::~HAHVAC (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-light.html#_CPPv47HALight">HALight (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-light.html#_CPPv4N7HALight19_brightnessCallbackE">HALight::_brightnessCallback (C++ member)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="documents/api/device-types/ha-light.html#_CPPv4N7HALight16_brightnessScaleE">HALight::_brightnessScale (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-light.html#_CPPv4N7HALight25_colorTemperatureCallbackE">HALight::_colorTemperatureCallback (C++ member)</a>
|
||||
@@ -1362,6 +1366,10 @@
|
||||
<li><a href="documents/api/device-types/ha-sensor.html#_CPPv48HASensor">HASensor (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor.html#_CPPv4N8HASensor12_deviceClassE">HASensor::_deviceClass (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor.html#_CPPv4N8HASensor12_expireAfterE">HASensor::_expireAfter (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor.html#_CPPv4N8HASensor9_featuresE">HASensor::_features (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor.html#_CPPv4N8HASensor12_forceUpdateE">HASensor::_forceUpdate (C++ member)</a>
|
||||
</li>
|
||||
@@ -1373,15 +1381,25 @@
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor.html#_CPPv4N8HASensor15buildSerializerEv">HASensor::buildSerializer (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor.html#_CPPv4N8HASensor8HASensorEPKc">HASensor::HASensor (C++ function)</a>
|
||||
<li><a href="documents/api/device-types/ha-sensor.html#_CPPv4N8HASensor8FeaturesE">HASensor::Features (C++ enum)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor.html#_CPPv4N8HASensor8Features15DefaultFeaturesE">HASensor::Features::DefaultFeatures (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor.html#_CPPv4N8HASensor8Features21JsonAttributesFeatureE">HASensor::Features::JsonAttributesFeature (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor.html#_CPPv4N8HASensor8HASensorEPKcK8uint16_t">HASensor::HASensor (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor.html#_CPPv4N8HASensor15onMqttConnectedEv">HASensor::onMqttConnected (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor.html#_CPPv4N8HASensor14setDeviceClassEPKc">HASensor::setDeviceClass (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor.html#_CPPv4N8HASensor14setExpireAfterE8uint16_t">HASensor::setExpireAfter (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor.html#_CPPv4N8HASensor14setForceUpdateEb">HASensor::setForceUpdate (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor.html#_CPPv4N8HASensor7setIconEPKc">HASensor::setIcon (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor.html#_CPPv4N8HASensor17setJsonAttributesEPKc">HASensor::setJsonAttributes (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor.html#_CPPv4N8HASensor13setStateClassEPKc">HASensor::setStateClass (C++ function)</a>
|
||||
</li>
|
||||
@@ -1397,7 +1415,7 @@
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor-number.html#_CPPv4NK14HASensorNumber15getCurrentValueEv">HASensorNumber::getCurrentValue (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor-number.html#_CPPv4N14HASensorNumber14HASensorNumberEPKcK15NumberPrecision">HASensorNumber::HASensorNumber (C++ function)</a>
|
||||
<li><a href="documents/api/device-types/ha-sensor-number.html#_CPPv4N14HASensorNumber14HASensorNumberEPKcK15NumberPrecisionK8uint16_t">HASensorNumber::HASensorNumber (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-sensor-number.html#_CPPv4N14HASensorNumber15onMqttConnectedEv">HASensorNumber::onMqttConnected (C++ function)</a>
|
||||
</li>
|
||||
|
||||
Binary file not shown.
+1
-1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user