mirror of
https://github.com/alexhopeoconnor/arduino-home-assistant.git
synced 2026-10-04 02:48:13 +10:00
HAMqtt improvements (#224)
* added setBufferSize method to the HAMqtt class * added getState method to the HAMqtt class * update docs * update changelog * changelog * update mocks * change data type in the PubSubClientMock * update docs and changelog * add more callbacks to the HAMqtt class * improve handling of the disconnected state * minor fixes in state handling
This commit is contained in:
@@ -156,6 +156,75 @@
|
||||
<span id="_CPPv36HAMqtt"></span><span id="_CPPv26HAMqtt"></span><span id="HAMqtt"></span><span class="target" id="class_h_a_mqtt"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">HAMqtt</span></span></span><a class="headerlink" href="#_CPPv46HAMqtt" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>This class is a wrapper for the PubSub API. It’s a central point of the library where instances of all device types are stored. </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="_CPPv4N6HAMqtt15ConnectionStateE">
|
||||
<span id="_CPPv3N6HAMqtt15ConnectionStateE"></span><span id="_CPPv2N6HAMqtt15ConnectionStateE"></span><span class="target" id="class_h_a_mqtt_1a46bf495384c36afc3d85edbaa3d495b7"></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">ConnectionState</span></span></span><a class="headerlink" href="#_CPPv4N6HAMqtt15ConnectionStateE" 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="_CPPv4N6HAMqtt15ConnectionState19StateNotInitializedE">
|
||||
<span id="_CPPv3N6HAMqtt15ConnectionState19StateNotInitializedE"></span><span id="_CPPv2N6HAMqtt15ConnectionState19StateNotInitializedE"></span><span class="target" id="class_h_a_mqtt_1a46bf495384c36afc3d85edbaa3d495b7a70f12f4588040a1a33004df4f6b7e75c"></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">StateNotInitialized</span></span></span><a class="headerlink" href="#_CPPv4N6HAMqtt15ConnectionState19StateNotInitializedE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt15ConnectionState15StateConnectingE">
|
||||
<span id="_CPPv3N6HAMqtt15ConnectionState15StateConnectingE"></span><span id="_CPPv2N6HAMqtt15ConnectionState15StateConnectingE"></span><span class="target" id="class_h_a_mqtt_1a46bf495384c36afc3d85edbaa3d495b7a26e4b442b7686873d5d46a112fae55bd"></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">StateConnecting</span></span></span><a class="headerlink" href="#_CPPv4N6HAMqtt15ConnectionState15StateConnectingE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt15ConnectionState22StateConnectionTimeoutE">
|
||||
<span id="_CPPv3N6HAMqtt15ConnectionState22StateConnectionTimeoutE"></span><span id="_CPPv2N6HAMqtt15ConnectionState22StateConnectionTimeoutE"></span><span class="target" id="class_h_a_mqtt_1a46bf495384c36afc3d85edbaa3d495b7a0f7e0cd68753b9fd49aea3533bbd7a04"></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">StateConnectionTimeout</span></span></span><a class="headerlink" href="#_CPPv4N6HAMqtt15ConnectionState22StateConnectionTimeoutE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt15ConnectionState19StateConnectionLostE">
|
||||
<span id="_CPPv3N6HAMqtt15ConnectionState19StateConnectionLostE"></span><span id="_CPPv2N6HAMqtt15ConnectionState19StateConnectionLostE"></span><span class="target" id="class_h_a_mqtt_1a46bf495384c36afc3d85edbaa3d495b7a2a491377061c733fb54b1cd0adcc0a0c"></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">StateConnectionLost</span></span></span><a class="headerlink" href="#_CPPv4N6HAMqtt15ConnectionState19StateConnectionLostE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt15ConnectionState21StateConnectionFailedE">
|
||||
<span id="_CPPv3N6HAMqtt15ConnectionState21StateConnectionFailedE"></span><span id="_CPPv2N6HAMqtt15ConnectionState21StateConnectionFailedE"></span><span class="target" id="class_h_a_mqtt_1a46bf495384c36afc3d85edbaa3d495b7a84ec7511e2dca0785ca364b75c465019"></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">StateConnectionFailed</span></span></span><a class="headerlink" href="#_CPPv4N6HAMqtt15ConnectionState21StateConnectionFailedE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt15ConnectionState17StateDisconnectedE">
|
||||
<span id="_CPPv3N6HAMqtt15ConnectionState17StateDisconnectedE"></span><span id="_CPPv2N6HAMqtt15ConnectionState17StateDisconnectedE"></span><span class="target" id="class_h_a_mqtt_1a46bf495384c36afc3d85edbaa3d495b7ab8f4310771f23cc05ecb141666c85292"></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">StateDisconnected</span></span></span><a class="headerlink" href="#_CPPv4N6HAMqtt15ConnectionState17StateDisconnectedE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt15ConnectionState14StateConnectedE">
|
||||
<span id="_CPPv3N6HAMqtt15ConnectionState14StateConnectedE"></span><span id="_CPPv2N6HAMqtt15ConnectionState14StateConnectedE"></span><span class="target" id="class_h_a_mqtt_1a46bf495384c36afc3d85edbaa3d495b7a0c33a2492617d852c461645e04d7b641"></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">StateConnected</span></span></span><a class="headerlink" href="#_CPPv4N6HAMqtt15ConnectionState14StateConnectedE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt15ConnectionState16StateBadProtocolE">
|
||||
<span id="_CPPv3N6HAMqtt15ConnectionState16StateBadProtocolE"></span><span id="_CPPv2N6HAMqtt15ConnectionState16StateBadProtocolE"></span><span class="target" id="class_h_a_mqtt_1a46bf495384c36afc3d85edbaa3d495b7a9b88f4b93c76c0270863b2f94d4882d7"></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">StateBadProtocol</span></span></span><a class="headerlink" href="#_CPPv4N6HAMqtt15ConnectionState16StateBadProtocolE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt15ConnectionState16StateBadClientIdE">
|
||||
<span id="_CPPv3N6HAMqtt15ConnectionState16StateBadClientIdE"></span><span id="_CPPv2N6HAMqtt15ConnectionState16StateBadClientIdE"></span><span class="target" id="class_h_a_mqtt_1a46bf495384c36afc3d85edbaa3d495b7ab7da41970dcf4c6c946c54bd76905c33"></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">StateBadClientId</span></span></span><a class="headerlink" href="#_CPPv4N6HAMqtt15ConnectionState16StateBadClientIdE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt15ConnectionState16StateUnavailableE">
|
||||
<span id="_CPPv3N6HAMqtt15ConnectionState16StateUnavailableE"></span><span id="_CPPv2N6HAMqtt15ConnectionState16StateUnavailableE"></span><span class="target" id="class_h_a_mqtt_1a46bf495384c36afc3d85edbaa3d495b7ac7f60402355ec36b51a8ca5d965b90b8"></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">StateUnavailable</span></span></span><a class="headerlink" href="#_CPPv4N6HAMqtt15ConnectionState16StateUnavailableE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt15ConnectionState19StateBadCredentialsE">
|
||||
<span id="_CPPv3N6HAMqtt15ConnectionState19StateBadCredentialsE"></span><span id="_CPPv2N6HAMqtt15ConnectionState19StateBadCredentialsE"></span><span class="target" id="class_h_a_mqtt_1a46bf495384c36afc3d85edbaa3d495b7a00437050c29a348c97743889f378e4f7"></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">StateBadCredentials</span></span></span><a class="headerlink" href="#_CPPv4N6HAMqtt15ConnectionState19StateBadCredentialsE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt15ConnectionState17StateUnauthorizedE">
|
||||
<span id="_CPPv3N6HAMqtt15ConnectionState17StateUnauthorizedE"></span><span id="_CPPv2N6HAMqtt15ConnectionState17StateUnauthorizedE"></span><span class="target" id="class_h_a_mqtt_1a46bf495384c36afc3d85edbaa3d495b7a39d4eda1c9ac8023f84e63c1023e0c54"></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">StateUnauthorized</span></span></span><a class="headerlink" href="#_CPPv4N6HAMqtt15ConnectionState17StateUnauthorizedE" 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="_CPPv4N6HAMqtt6HAMqttER6ClientR8HADeviceK7uint8_t">
|
||||
@@ -240,6 +309,34 @@
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt14onDisconnectedEPFvvE">
|
||||
<span id="_CPPv3N6HAMqtt14onDisconnectedEPFvvE"></span><span id="_CPPv2N6HAMqtt14onDisconnectedEPFvvE"></span><span class="target" id="class_h_a_mqtt_1a42dc8114d38dde6e58ead88f9b5181e3"></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">onDisconnected</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">callback</span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N6HAMqtt14onDisconnectedEPFvvE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Registers a new callback method that will be called each time the connection to the MQTT broker is lost.</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><p><strong>callback</strong> – Callback method. </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt14onStateChangedEPFv15ConnectionStateE">
|
||||
<span id="_CPPv3N6HAMqtt14onStateChangedEPFv15ConnectionStateE"></span><span id="_CPPv2N6HAMqtt14onStateChangedEPFv15ConnectionStateE"></span><span class="target" id="class_h_a_mqtt_1acbb91743a51c390e6d2a608f58c5cd3e"></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">onStateChanged</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">callback</span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><a class="reference internal" href="#_CPPv4N6HAMqtt15ConnectionStateE" title="HAMqtt::ConnectionState"><span class="n"><span class="pre">ConnectionState</span></span></a><span class="w"> </span><span class="n"><span class="pre">state</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N6HAMqtt14onStateChangedEPFv15ConnectionStateE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Registers a new callback method that will be called each time the connection state changes.</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><p><strong>callback</strong> – Callback method. </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4NK6HAMqtt8getStateEv">
|
||||
<span id="_CPPv3NK6HAMqtt8getStateEv"></span><span id="_CPPv2NK6HAMqtt8getStateEv"></span><span id="HAMqtt::getStateC"></span><span class="target" id="class_h_a_mqtt_1a356b1b1ee9ed9b46abca060616cca56e"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N6HAMqtt15ConnectionStateE" title="HAMqtt::ConnectionState"><span class="n"><span class="pre">ConnectionState</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">getState</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK6HAMqtt8getStateEv" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Returns the current state of the MQTT connection. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt5beginEK9IPAddressK8uint16_tPKcPKc">
|
||||
<span id="_CPPv3N6HAMqtt5beginEK9IPAddressK8uint16_tPKcPKc"></span><span id="_CPPv2N6HAMqtt5beginEK9IPAddressK8uint16_tPKcPKc"></span><span id="HAMqtt::begin__IPAddressC.uint16_tC.cCP.cCP"></span><span class="target" id="class_h_a_mqtt_1ae4e2ebb17afaeef26d98c69d6a9e5cbb"></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">begin</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">IPAddress</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">serverIp</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">serverPort</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1883</span></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">username</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">nullptr</span></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">password</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">nullptr</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N6HAMqtt5beginEK9IPAddressK8uint16_tPKcPKc" title="Permalink to this definition">¶</a><br /></dt>
|
||||
@@ -331,6 +428,17 @@
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt13setBufferSizeE8uint16_t">
|
||||
<span id="_CPPv3N6HAMqtt13setBufferSizeE8uint16_t"></span><span id="_CPPv2N6HAMqtt13setBufferSizeE8uint16_t"></span><span id="HAMqtt::setBufferSize__uint16_t"></span><span class="target" id="class_h_a_mqtt_1a90c9d43346a86471ffcc6e5e98fbba6a"></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">setBufferSize</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">size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N6HAMqtt13setBufferSizeE8uint16_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Sets the buffer size for the MQTT connection. By default it’s 256 bytes.</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><p><strong>size</strong> – Size of the buffer. </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt13addDeviceTypeEP16HABaseDeviceType">
|
||||
<span id="_CPPv3N6HAMqtt13addDeviceTypeEP16HABaseDeviceType"></span><span id="_CPPv2N6HAMqtt13addDeviceTypeEP16HABaseDeviceType"></span><span id="HAMqtt::addDeviceType__HABaseDeviceTypeP"></span><span class="target" id="class_h_a_mqtt_1a4f732ac5fd2f5cfc0e6256853adc08f9"></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">addDeviceType</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../device-types/ha-base-device-type.html#_CPPv416HABaseDeviceType" title="HABaseDeviceType"><span class="n"><span class="pre">HABaseDeviceType</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">deviceType</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N6HAMqtt13addDeviceTypeEP16HABaseDeviceType" title="Permalink to this definition">¶</a><br /></dt>
|
||||
@@ -491,6 +599,12 @@
|
||||
<dd><p>This method is called each time the connection with MQTT broker is acquired. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt8setStateE15ConnectionState">
|
||||
<span id="_CPPv3N6HAMqtt8setStateE15ConnectionState"></span><span id="_CPPv2N6HAMqtt8setStateE15ConnectionState"></span><span id="HAMqtt::setState__ConnectionState"></span><span class="target" id="class_h_a_mqtt_1aa2b7c63842cf47c618dd7c36d4feec85"></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">setState</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N6HAMqtt15ConnectionStateE" title="HAMqtt::ConnectionState"><span class="n"><span class="pre">ConnectionState</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">state</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N6HAMqtt8setStateE15ConnectionState" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Sets the state of the MQTT connection. </p>
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-private-members">Private Members</p>
|
||||
@@ -518,6 +632,18 @@
|
||||
<dd><p>The callback method that will be called when the MQTT connection is acquired. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt21_disconnectedCallbackE">
|
||||
<span id="_CPPv3N6HAMqtt21_disconnectedCallbackE"></span><span id="_CPPv2N6HAMqtt21_disconnectedCallbackE"></span><span class="target" id="class_h_a_mqtt_1ab81e921289d90e0d30f86fdc0bc73518"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">_disconnectedCallback</span></span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><a class="headerlink" href="#_CPPv4N6HAMqtt21_disconnectedCallbackE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>The callback method that will be called when the MQTT connection is lost. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt21_stateChangedCallbackE">
|
||||
<span id="_CPPv3N6HAMqtt21_stateChangedCallbackE"></span><span id="_CPPv2N6HAMqtt21_stateChangedCallbackE"></span><span class="target" id="class_h_a_mqtt_1a7d3886e24ddba3f56012c27e5d8959d3"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">_stateChangedCallback</span></span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><a class="reference internal" href="#_CPPv4N6HAMqtt15ConnectionStateE" title="HAMqtt::ConnectionState"><span class="n"><span class="pre">ConnectionState</span></span></a><span class="w"> </span><span class="n"><span class="pre">state</span></span><span class="p"><span class="pre">)</span></span><a class="headerlink" href="#_CPPv4N6HAMqtt21_stateChangedCallbackE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>The callback method that will be called when the MQTT connection state changes. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt12_initializedE">
|
||||
<span id="_CPPv3N6HAMqtt12_initializedE"></span><span id="_CPPv2N6HAMqtt12_initializedE"></span><span id="HAMqtt::_initialized__b"></span><span class="target" id="class_h_a_mqtt_1ab5342ef2fc66956a2de96f1b8ad9453b"></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">_initialized</span></span></span><a class="headerlink" href="#_CPPv4N6HAMqtt12_initializedE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
@@ -590,12 +716,18 @@
|
||||
<dd><p>The last will retain set by <a class="reference internal" href="#class_h_a_mqtt_1a87c9c08db323a22e065bfa6762a94732"><span class="std std-ref">HAMqtt::setLastWill</span></a>. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt13_currentStateE">
|
||||
<span id="_CPPv3N6HAMqtt13_currentStateE"></span><span id="_CPPv2N6HAMqtt13_currentStateE"></span><span id="HAMqtt::_currentState__ConnectionState"></span><span class="target" id="class_h_a_mqtt_1a8899aa292155d8c51499142cd0ae950c"></span><a class="reference internal" href="#_CPPv4N6HAMqtt15ConnectionStateE" title="HAMqtt::ConnectionState"><span class="n"><span class="pre">ConnectionState</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">_currentState</span></span></span><a class="headerlink" href="#_CPPv4N6HAMqtt13_currentStateE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>The last known state of the MQTT connection. </p>
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-private-static-attributes">Private Static Attributes</p>
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N6HAMqtt17ReconnectIntervalE">
|
||||
<span id="_CPPv3N6HAMqtt17ReconnectIntervalE"></span><span id="_CPPv2N6HAMqtt17ReconnectIntervalE"></span><span id="HAMqtt::ReconnectInterval__uint16_tC"></span><span class="target" id="class_h_a_mqtt_1a68a6a0d104024dcee5cf2534b419a035"></span><span class="k"><span class="pre">static</span></span><span class="w"> </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">ReconnectInterval</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">5000</span></span><a class="headerlink" href="#_CPPv4N6HAMqtt17ReconnectIntervalE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<span id="_CPPv3N6HAMqtt17ReconnectIntervalE"></span><span id="_CPPv2N6HAMqtt17ReconnectIntervalE"></span><span id="HAMqtt::ReconnectInterval__uint16_tC"></span><span class="target" id="class_h_a_mqtt_1a68a6a0d104024dcee5cf2534b419a035"></span><span class="k"><span class="pre">static</span></span><span class="w"> </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">ReconnectInterval</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">10000</span></span><a class="headerlink" href="#_CPPv4N6HAMqtt17ReconnectIntervalE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Interval between MQTT reconnects (milliseconds). </p>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
@@ -245,6 +245,23 @@
|
||||
<dd><p>Returns name of the deviced type that was assigned via setName method. It can be nullptr if there is no name assigned. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N16HABaseDeviceType11setObjectIdEPKc">
|
||||
<span id="_CPPv3N16HABaseDeviceType11setObjectIdEPKc"></span><span id="_CPPv2N16HABaseDeviceType11setObjectIdEPKc"></span><span id="HABaseDeviceType::setObjectId__cCP"></span><span class="target" id="class_h_a_base_device_type_1a4c22e772ee15bf7108cba852ed2faa3b"></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">setObjectId</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">objectId</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N16HABaseDeviceType11setObjectIdEPKc" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Sets object ID that will be used by HA to generate entity ID. Keep the ID short to save the resources.</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><p><strong>objectId</strong> – The object ID. </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4NK16HABaseDeviceType11getObjectIdEv">
|
||||
<span id="_CPPv3NK16HABaseDeviceType11getObjectIdEv"></span><span id="_CPPv2NK16HABaseDeviceType11getObjectIdEv"></span><span id="HABaseDeviceType::getObjectIdC"></span><span class="target" id="class_h_a_base_device_type_1aa7df8603a35f638fb9a7c80707347b28"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </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">getObjectId</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK16HABaseDeviceType11getObjectIdEv" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Returns the object ID that was set by setObjectId method. It can be nullptr if there is no ID assigned. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N16HABaseDeviceType15setAvailabilityEb">
|
||||
<span id="_CPPv3N16HABaseDeviceType15setAvailabilityEb"></span><span id="_CPPv2N16HABaseDeviceType15setAvailabilityEb"></span><span id="HABaseDeviceType::setAvailability__b"></span><span class="target" id="class_h_a_base_device_type_1a7552355c7806c24cb839b068a2b8694e"></span><span class="k"><span class="pre">virtual</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">setAvailability</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">online</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N16HABaseDeviceType15setAvailabilityEb" title="Permalink to this definition">¶</a><br /></dt>
|
||||
@@ -372,6 +389,12 @@
|
||||
<dd><p>The name that was set using setName method. It can be nullptr. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N16HABaseDeviceType9_objectIdE">
|
||||
<span id="_CPPv3N16HABaseDeviceType9_objectIdE"></span><span id="_CPPv2N16HABaseDeviceType9_objectIdE"></span><span id="HABaseDeviceType::_objectId__cCP"></span><span class="target" id="class_h_a_base_device_type_1af81965b24794e2cba173006ed0a29b00"></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">_objectId</span></span></span><a class="headerlink" href="#_CPPv4N16HABaseDeviceType9_objectIdE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>The object ID that was set using setObjectId method. It can be nullptr. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N16HABaseDeviceType11_serializerE">
|
||||
<span id="_CPPv3N16HABaseDeviceType11_serializerE"></span><span id="_CPPv2N16HABaseDeviceType11_serializerE"></span><span id="HABaseDeviceType::_serializer__HASerializerP"></span><span class="target" id="class_h_a_base_device_type_1a2183f616ed3662b9d954ee65df896079"></span><a class="reference internal" href="../utils/ha-serializer.html#_CPPv412HASerializer" title="HASerializer"><span class="n"><span class="pre">HASerializer</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">_serializer</span></span></span><a class="headerlink" href="#_CPPv4N16HABaseDeviceType11_serializerE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
|
||||
@@ -178,10 +178,7 @@ Solid understanding of foundations will allow you to utilize full potential of t
|
||||
<li class="toctree-l2"><a class="reference internal" href="device-types.html#supported-device-types">Supported device types</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="mqtt-security.html">MQTT security</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="mqtt-security.html#ssl-connection">SSL connection</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="mqtt-security.html">MQTT security</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="mqtt-advanced.html">MQTT advanced features</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="mqtt-advanced.html#callbacks">Callbacks</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="mqtt-advanced.html#subscriptions">Subscriptions</a></li>
|
||||
|
||||
@@ -149,18 +149,16 @@
|
||||
|
||||
<section id="introduction">
|
||||
<h1>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Before implementing the business logic of your application you will need to
|
||||
add a few necessary pieces of code to your project.
|
||||
Basically, everything comes up to a few basic rules:</p>
|
||||
<p>Prior to implementing the business logic of your application, you’ll need to incorporate several essential pieces of code into your project.
|
||||
Essentially, everything boils down to a few fundamental rules:</p>
|
||||
<ol class="arabic simple">
|
||||
<li><p><a class="reference internal" href="../api/core/ha-device.html"><span class="doc">HADevice</span></a> and <a class="reference internal" href="../api/core/ha-mqtt.html"><span class="doc">HAMqtt</span></a> instances need to be initialized once globally or as a part of another global object.</p></li>
|
||||
<li><p><a class="reference internal" href="../api/core/ha-mqtt.html"><span class="doc">HAMqtt::begin</span></a> needs to be called at the end of setup logic. It provides MQTT broker credentials that will be used for a connection.</p></li>
|
||||
<li><p><a class="reference internal" href="../api/core/ha-mqtt.html"><span class="doc">HAMqtt::begin</span></a> needs to be called at the end of Arduino’s setup logic. It lets you provide the MQTT broker’s IP address and credentials.</p></li>
|
||||
<li><p><a class="reference internal" href="../api/core/ha-mqtt.html"><span class="doc">HAMqtt::loop</span></a> method needs to be called periodically (it doesn’t need to be called on each tick).</p></li>
|
||||
<li><p>Device types need to be initialized after <a class="reference internal" href="../api/core/ha-mqtt.html"><span class="doc">HAMqtt</span></a> class (it will be described later in the documentation).</p></li>
|
||||
</ol>
|
||||
<p>Here are the minimal boilerplates that you can start with.
|
||||
Don’t worry if you have no idea what’s going on here.
|
||||
Everything will be covered in the following chapters.</p>
|
||||
<p>Here are the minimal boilerplate examples to get you started.
|
||||
Don’t worry if you have no idea what’s happening here; everything will be explained in detail in the following chapters.</p>
|
||||
<section id="arduino-boilerplate">
|
||||
<h2>Arduino Boilerplate<a class="headerlink" href="#arduino-boilerplate" title="Permalink to this headline">¶</a></h2>
|
||||
<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>
|
||||
|
||||
@@ -169,11 +169,23 @@ Please take a look at the example below.</p>
|
||||
<span class="w"> </span><span class="c1">// this method will be called when connection to MQTT broker is established</span>
|
||||
<span class="p">}</span><span class="w"></span>
|
||||
|
||||
<span class="kt">void</span><span class="w"> </span><span class="nf">onDisconnected</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="c1">// this method will be called when connection to MQTT broker is lost</span>
|
||||
<span class="p">}</span><span class="w"></span>
|
||||
|
||||
<span class="kt">void</span><span class="w"> </span><span class="nf">onStateChanged</span><span class="p">(</span><span class="n">HAMqtt</span><span class="o">::</span><span class="n">ConnectionState</span><span class="w"> </span><span class="n">state</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="c1">// this method will be called each time the state of the MQTT connection changes</span>
|
||||
<span class="p">}</span><span class="w"></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>
|
||||
|
||||
<span class="w"> </span><span class="n">mqtt</span><span class="p">.</span><span class="n">onMessage</span><span class="p">(</span><span class="n">onMessage</span><span class="p">);</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">mqtt</span><span class="p">.</span><span class="n">onConnected</span><span class="p">(</span><span class="n">onConnected</span><span class="p">);</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">mqtt</span><span class="p">.</span><span class="n">onDisconnected</span><span class="p">(</span><span class="n">onDisconnected</span><span class="p">);</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">mqtt</span><span class="p">.</span><span class="n">onStateChanged</span><span class="p">(</span><span class="n">onStateChanged</span><span class="p">);</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">mqtt</span><span class="p">.</span><span class="n">setBufferSize</span><span class="p">(</span><span class="mi">512</span><span class="p">);</span><span class="w"> </span><span class="c1">// set the buffer size to 512 bytes, default is 256 bytes</span>
|
||||
<span class="w"> </span><span class="n">mqtt</span><span class="p">.</span><span class="n">setKeepAlive</span><span class="p">(</span><span class="mi">60</span><span class="p">);</span><span class="w"> </span><span class="c1">// set the keep alive interval to 60 seconds, default is 15 seconds</span>
|
||||
<span class="w"> </span><span class="n">mqtt</span><span class="p">.</span><span class="n">begin</span><span class="p">(</span><span class="s">"192.168.1.50"</span><span class="p">,</span><span class="w"> </span><span class="s">"username"</span><span class="p">,</span><span class="w"> </span><span class="s">"password"</span><span class="p">);</span><span class="w"></span>
|
||||
<span class="p">}</span><span class="w"></span>
|
||||
|
||||
|
||||
@@ -149,14 +149,14 @@
|
||||
|
||||
<section id="mqtt-security">
|
||||
<h1>MQTT security<a class="headerlink" href="#mqtt-security" title="Permalink to this headline">¶</a></h1>
|
||||
<p>The library allows you to use credentials for acquiring a TCP connection with the MQTT broker.
|
||||
By default you can use the same credentials you use for login in the Home Assistant panel but you can also configure custom credentials in the Mosquitto broker.</p>
|
||||
<p>The library enables you to utilize credentials to establish a TCP connection with the MQTT broker.
|
||||
By default, you can employ the same credentials utilized for logging into the Home Assistant panel.
|
||||
However, it’s also possible to configure custom credentials within the Mosquitto broker.</p>
|
||||
<div class="admonition danger">
|
||||
<p class="admonition-title">Danger</p>
|
||||
<p>This solution is not 100% secure because communication between Arduino and Home Assistant is not encrypted.
|
||||
Username and password can be easily discovered by analyzing your local network traffic.
|
||||
However, that’s fine as long as your local network is secured against unattended access.
|
||||
On more powerful devices (like ESP), you should consider using TLS/SSL connection.</p>
|
||||
<p>This solution may not provide comprehensive security as the communication between Arduino and Home Assistant lacks encryption.
|
||||
Consequently, username and password could be vulnerable to discovery through analysis of local network traffic.
|
||||
However, this may not pose a significant risk if your local network is properly secured against unauthorized access.</p>
|
||||
</div>
|
||||
<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>
|
||||
@@ -178,11 +178,6 @@ On more powerful devices (like ESP), you should consider using TLS/SSL connectio
|
||||
<span class="p">}</span><span class="w"></span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<section id="ssl-connection">
|
||||
<h2>SSL connection<a class="headerlink" href="#ssl-connection" title="Permalink to this headline">¶</a></h2>
|
||||
<p>On ESP32/ESP8266 you can use <code class="docutils literal notranslate"><span class="pre">WiFiClientSecure</span></code> client to establish encrypted connection between your device and Home Assistant.
|
||||
Please take a look at <a class="reference external" href="https://github.com/dawidchyrzynski/arduino-home-assistant/tree/main/examples/mqtt-with-ssl/mqtt-with-ssl.ino">this example</a>.</p>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
+50
-2
@@ -152,6 +152,8 @@
|
||||
<li><a href="documents/api/device-types/ha-base-device-type.html#_CPPv4N16HABaseDeviceType14_componentNameE">HABaseDeviceType::_componentName (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-base-device-type.html#_CPPv4N16HABaseDeviceType5_nameE">HABaseDeviceType::_name (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-base-device-type.html#_CPPv4N16HABaseDeviceType9_objectIdE">HABaseDeviceType::_objectId (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-base-device-type.html#_CPPv4N16HABaseDeviceType11_serializerE">HABaseDeviceType::_serializer (C++ member)</a>
|
||||
</li>
|
||||
@@ -172,6 +174,8 @@
|
||||
<li><a href="documents/api/device-types/ha-base-device-type.html#_CPPv4N16HABaseDeviceType17destroySerializerEv">HABaseDeviceType::destroySerializer (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-base-device-type.html#_CPPv4NK16HABaseDeviceType7getNameEv">HABaseDeviceType::getName (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-base-device-type.html#_CPPv4NK16HABaseDeviceType11getObjectIdEv">HABaseDeviceType::getObjectId (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-base-device-type.html#_CPPv4N16HABaseDeviceType16HABaseDeviceTypeEPK19__FlashStringHelperPKc">HABaseDeviceType::HABaseDeviceType (C++ function)</a>
|
||||
</li>
|
||||
@@ -204,6 +208,8 @@
|
||||
<li><a href="documents/api/device-types/ha-base-device-type.html#_CPPv4N16HABaseDeviceType15setAvailabilityEb">HABaseDeviceType::setAvailability (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-base-device-type.html#_CPPv4N16HABaseDeviceType7setNameEPKc">HABaseDeviceType::setName (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-base-device-type.html#_CPPv4N16HABaseDeviceType11setObjectIdEPKc">HABaseDeviceType::setObjectId (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-base-device-type.html#_CPPv4N16HABaseDeviceType14subscribeTopicEPKcPK19__FlashStringHelper">HABaseDeviceType::subscribeTopic (C++ function)</a>
|
||||
</li>
|
||||
@@ -879,8 +885,6 @@
|
||||
</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>
|
||||
@@ -899,6 +903,8 @@
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-light.html#_CPPv4N7HALight10_maxMiredsE">HALight::_maxMireds (C++ member)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="documents/api/device-types/ha-light.html#_CPPv4N7HALight10_minMiredsE">HALight::_minMireds (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/device-types/ha-light.html#_CPPv4N7HALight11_optimisticE">HALight::_optimistic (C++ member)</a>
|
||||
@@ -1070,6 +1076,8 @@
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv46HAMqtt">HAMqtt (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt18_connectedCallbackE">HAMqtt::_connectedCallback (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt13_currentStateE">HAMqtt::_currentState (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt11_dataPrefixE">HAMqtt::_dataPrefix (C++ member)</a>
|
||||
</li>
|
||||
@@ -1078,6 +1086,8 @@
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt13_devicesTypesE">HAMqtt::_devicesTypes (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt15_devicesTypesNbE">HAMqtt::_devicesTypesNb (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt21_disconnectedCallbackE">HAMqtt::_disconnectedCallback (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt16_discoveryPrefixE">HAMqtt::_discoveryPrefix (C++ member)</a>
|
||||
</li>
|
||||
@@ -1100,6 +1110,8 @@
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt5_mqttE">HAMqtt::_mqtt (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt9_passwordE">HAMqtt::_password (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt21_stateChangedCallbackE">HAMqtt::_stateChangedCallback (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt9_usernameE">HAMqtt::_username (C++ member)</a>
|
||||
</li>
|
||||
@@ -1108,6 +1120,32 @@
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt5beginEK9IPAddressK8uint16_tPKcPKc">HAMqtt::begin (C++ function)</a>, <a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt5beginEK9IPAddressPKcPKc">[1]</a>, <a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt5beginEPKcK8uint16_tPKcPKc">[2]</a>, <a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt5beginEPKcPKcPKc">[3]</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt12beginPublishEPKc8uint16_tb">HAMqtt::beginPublish (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt15ConnectionStateE">HAMqtt::ConnectionState (C++ enum)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt15ConnectionState16StateBadClientIdE">HAMqtt::ConnectionState::StateBadClientId (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt15ConnectionState19StateBadCredentialsE">HAMqtt::ConnectionState::StateBadCredentials (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt15ConnectionState16StateBadProtocolE">HAMqtt::ConnectionState::StateBadProtocol (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt15ConnectionState14StateConnectedE">HAMqtt::ConnectionState::StateConnected (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt15ConnectionState15StateConnectingE">HAMqtt::ConnectionState::StateConnecting (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt15ConnectionState21StateConnectionFailedE">HAMqtt::ConnectionState::StateConnectionFailed (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt15ConnectionState19StateConnectionLostE">HAMqtt::ConnectionState::StateConnectionLost (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt15ConnectionState22StateConnectionTimeoutE">HAMqtt::ConnectionState::StateConnectionTimeout (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt15ConnectionState17StateDisconnectedE">HAMqtt::ConnectionState::StateDisconnected (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt15ConnectionState19StateNotInitializedE">HAMqtt::ConnectionState::StateNotInitialized (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt15ConnectionState17StateUnauthorizedE">HAMqtt::ConnectionState::StateUnauthorized (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt15ConnectionState16StateUnavailableE">HAMqtt::ConnectionState::StateUnavailable (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt15connectToServerEv">HAMqtt::connectToServer (C++ function)</a>
|
||||
</li>
|
||||
@@ -1120,6 +1158,8 @@
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4NK6HAMqtt9getDeviceEv">HAMqtt::getDevice (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4NK6HAMqtt18getDiscoveryPrefixEv">HAMqtt::getDiscoveryPrefix (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4NK6HAMqtt8getStateEv">HAMqtt::getState (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt6HAMqttER6ClientR8HADeviceK7uint8_t">HAMqtt::HAMqtt (C++ function)</a>
|
||||
</li>
|
||||
@@ -1132,14 +1172,20 @@
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt11onConnectedEPFvvE">HAMqtt::onConnected (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt16onConnectedLogicEv">HAMqtt::onConnectedLogic (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt14onDisconnectedEPFvvE">HAMqtt::onDisconnected (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt9onMessageEPFvPKcPK7uint8_t8uint16_tE">HAMqtt::onMessage (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt14onStateChangedEPFv15ConnectionStateE">HAMqtt::onStateChanged (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt14processMessageEPKcPK7uint8_t8uint16_t">HAMqtt::processMessage (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt7publishEPKcPKcb">HAMqtt::publish (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt17ReconnectIntervalE">HAMqtt::ReconnectInterval (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt13setBufferSizeE8uint16_t">HAMqtt::setBufferSize (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt13setDataPrefixEPKc">HAMqtt::setDataPrefix (C++ function)</a>
|
||||
</li>
|
||||
@@ -1148,6 +1194,8 @@
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt12setKeepAliveE8uint16_t">HAMqtt::setKeepAlive (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt11setLastWillEPKcPKcb">HAMqtt::setLastWill (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt8setStateE15ConnectionState">HAMqtt::setState (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="documents/api/core/ha-mqtt.html#_CPPv4N6HAMqtt9subscribeEPKc">HAMqtt::subscribe (C++ function)</a>
|
||||
</li>
|
||||
|
||||
+1
-4
@@ -200,10 +200,7 @@ but I successfully use it on ESP8266/ESP8255 boards in my projects.</p>
|
||||
<li class="toctree-l3"><a class="reference internal" href="documents/library/device-types.html#supported-device-types">Supported device types</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="documents/library/mqtt-security.html">MQTT security</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="documents/library/mqtt-security.html#ssl-connection">SSL connection</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="documents/library/mqtt-security.html">MQTT security</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="documents/library/mqtt-advanced.html">MQTT advanced features</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="documents/library/mqtt-advanced.html#callbacks">Callbacks</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="documents/library/mqtt-advanced.html#subscriptions">Subscriptions</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