From 77a356bb3777fd52dfd4e8008e687806522ecb3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Chyrzy=C5=84ski?= Date: Fri, 9 Feb 2024 19:27:10 +0100 Subject: [PATCH] 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 --- CHANGELOG.md | 14 +- docs/documents/api/core/ha-mqtt.html | 134 +++++++++++++++++- .../api/device-types/ha-base-device-type.html | 23 +++ docs/documents/library/index.html | 5 +- docs/documents/library/introduction.html | 12 +- docs/documents/library/mqtt-advanced.html | 12 ++ docs/documents/library/mqtt-security.html | 17 +-- docs/genindex.html | 52 ++++++- docs/index.html | 5 +- docs/objects.inv | Bin 32635 -> 33520 bytes docs/searchindex.js | 2 +- .../source/documents/library/introduction.rst | 12 +- .../documents/library/mqtt-advanced.rst | 12 ++ .../documents/library/mqtt-security.rst | 19 +-- examples/mqtt-advanced/mqtt-advanced.ino | 14 ++ src/HAMqtt.cpp | 55 ++++++- src/HAMqtt.h | 61 +++++++- src/mocks/PubSubClientMock.cpp | 2 + src/mocks/PubSubClientMock.h | 14 ++ 19 files changed, 402 insertions(+), 63 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 98ad853..5d5710f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,9 +3,9 @@ ## 2.1.0 **New features:** -* Added support for setting MQTT's keep alive ([https://github.com/dawidchyrzynski/arduino-home-assistant/issues/153](#153)) -* Added support for the `state_class` property in the `HASensor` ([#179](https://github.com/dawidchyrzynski/arduino-home-assistant/pull/179) by [@https://github.com/Starzu]) -* Implemented extended unique ID support for all device types. This allows you to prefix each device type's unique ID with the device ID, ensuring smooth deployment of identical code on multiple devices without encountering unique ID conflicts [#212](https://github.com/dawidchyrzynski/arduino-home-assistant/issues/212#issuecomment-1919832684) +* Added support for setting MQTT's keep alive [#153](https://github.com/dawidchyrzynski/arduino-home-assistant/issues/153) by [@allenb2800](https://github.com/allenb2800) +* Added support for the `state_class` property in the `HASensor` [#179](https://github.com/dawidchyrzynski/arduino-home-assistant/pull/179) +* Implemented extended unique ID support for all device types. This allows you to prefix each device type's unique ID with the device ID, ensuring smooth deployment of identical code on multiple devices without encountering unique ID conflicts [#212](https://github.com/dawidchyrzynski/arduino-home-assistant/issues/212) * Added support for the `configuration_url` property in the `HADevice` [#182](https://github.com/dawidchyrzynski/arduino-home-assistant/issues/182) * Added `getCurrentOption` method to the `HASelect` device type [#163](https://github.com/dawidchyrzynski/arduino-home-assistant/issues/163) * Added support for publishing the `None` state in the `HASelect` device type [#146](https://github.com/dawidchyrzynski/arduino-home-assistant/issues/146) @@ -14,10 +14,14 @@ * Added support for the `expire_after` property in the `HABinarySensor` [#159](https://github.com/dawidchyrzynski/arduino-home-assistant/issues/159) * Added support for the JSON attributes in the `HASensor` * Added support for the `object_id` property in all device types +* Added `setBufferSize` method to the `HAMqtt` class [#202](https://github.com/dawidchyrzynski/arduino-home-assistant/issues/202) +* Added `getState` method to the `HAMqtt` class +* Added `onDisconnected` callback method to the `HAMqtt` class +* Added `onStateChanged` callback method to the `HAMqtt` class **Fixes:** -* Fixed a bug with the maximum number of device types ([#190](https://github.com/dawidchyrzynski/arduino-home-assistant/issues/190) by [@martaisty](https://github.com/martaisty)) -* Fixed compiler warning: `class 'HANumeric' is implicitly friends with itself` ([#197](https://github.com/dawidchyrzynski/arduino-home-assistant/pull/197) by [@shedokan](https://github.com/shedokan)) +* Fixed a bug with the maximum number of device types [#190](https://github.com/dawidchyrzynski/arduino-home-assistant/issues/190) by [@martaisty](https://github.com/martaisty) +* Fixed compiler warning: `class 'HANumeric' is implicitly friends with itself` [#197](https://github.com/dawidchyrzynski/arduino-home-assistant/pull/197) by [@shedokan](https://github.com/shedokan) * The default limit for device types has been raised to 24 on processors other than ATMega328/ATMega168. The previous default limit of 6 led to confusion for many users. ## 2.0.0 diff --git a/docs/documents/api/core/ha-mqtt.html b/docs/documents/api/core/ha-mqtt.html index 1cdd52d..55556ae 100644 --- a/docs/documents/api/core/ha-mqtt.html +++ b/docs/documents/api/core/ha-mqtt.html @@ -156,6 +156,75 @@ class HAMqtt

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.

+

Public Types

+
+
+enum ConnectionState
+

Values:

+
+
+enumerator StateNotInitialized
+
+ +
+
+enumerator StateConnecting
+
+ +
+
+enumerator StateConnectionTimeout
+
+ +
+
+enumerator StateConnectionLost
+
+ +
+
+enumerator StateConnectionFailed
+
+ +
+
+enumerator StateDisconnected
+
+ +
+
+enumerator StateConnected
+
+ +
+
+enumerator StateBadProtocol
+
+ +
+
+enumerator StateBadClientId
+
+ +
+
+enumerator StateUnavailable
+
+ +
+
+enumerator StateBadCredentials
+
+ +
+
+enumerator StateUnauthorized
+
+ +
+ +
+

Public Functions

@@ -240,6 +309,34 @@
+
+
+inline void onDisconnected(void (*callback)())
+

Registers a new callback method that will be called each time the connection to the MQTT broker is lost.

+
+
Parameters
+

callback – Callback method.

+
+
+
+ +
+
+inline void onStateChanged(void (*callback)(ConnectionState state))
+

Registers a new callback method that will be called each time the connection state changes.

+
+
Parameters
+

callback – Callback method.

+
+
+
+ +
+
+inline ConnectionState getState() const
+

Returns the current state of the MQTT connection.

+
+
bool begin(const IPAddress serverIp, const uint16_t serverPort = 1883, const char *username = nullptr, const char *password = nullptr)
@@ -331,6 +428,17 @@
+
+
+bool setBufferSize(uint16_t size)
+

Sets the buffer size for the MQTT connection. By default it’s 256 bytes.

+
+
Parameters
+

size – Size of the buffer.

+
+
+
+
void addDeviceType(HABaseDeviceType *deviceType)
@@ -491,6 +599,12 @@

This method is called each time the connection with MQTT broker is acquired.

+
+
+void setState(ConnectionState state)
+

Sets the state of the MQTT connection.

+
+

Private Members

@@ -518,6 +632,18 @@

The callback method that will be called when the MQTT connection is acquired.

+
+
+void (*_disconnectedCallback)()
+

The callback method that will be called when the MQTT connection is lost.

+
+ +
+
+void (*_stateChangedCallback)(ConnectionState state)
+

The callback method that will be called when the MQTT connection state changes.

+
+
bool _initialized
@@ -590,12 +716,18 @@

The last will retain set by HAMqtt::setLastWill.

+
+
+ConnectionState _currentState
+

The last known state of the MQTT connection.

+
+

Private Static Attributes

-static const uint16_t ReconnectInterval = 5000
+static const uint16_t ReconnectInterval = 10000

Interval between MQTT reconnects (milliseconds).

diff --git a/docs/documents/api/device-types/ha-base-device-type.html b/docs/documents/api/device-types/ha-base-device-type.html index e589d51..16569b9 100644 --- a/docs/documents/api/device-types/ha-base-device-type.html +++ b/docs/documents/api/device-types/ha-base-device-type.html @@ -245,6 +245,23 @@

Returns name of the deviced type that was assigned via setName method. It can be nullptr if there is no name assigned.

+
+
+inline void setObjectId(const char *objectId)
+

Sets object ID that will be used by HA to generate entity ID. Keep the ID short to save the resources.

+
+
Parameters
+

objectId – The object ID.

+
+
+
+ +
+
+inline const char *getObjectId() const
+

Returns the object ID that was set by setObjectId method. It can be nullptr if there is no ID assigned.

+
+
virtual void setAvailability(bool online)
@@ -372,6 +389,12 @@

The name that was set using setName method. It can be nullptr.

+
+
+const char *_objectId
+

The object ID that was set using setObjectId method. It can be nullptr.

+
+
HASerializer *_serializer
diff --git a/docs/documents/library/index.html b/docs/documents/library/index.html index dc5a2b3..ed42f6b 100644 --- a/docs/documents/library/index.html +++ b/docs/documents/library/index.html @@ -178,10 +178,7 @@ Solid understanding of foundations will allow you to utilize full potential of t
  • Supported device types
  • -
  • MQTT security -
  • +
  • MQTT security
  • MQTT advanced features
    • Callbacks
    • Subscriptions
    • diff --git a/docs/documents/library/introduction.html b/docs/documents/library/introduction.html index 4c7eec2..d5c4a41 100644 --- a/docs/documents/library/introduction.html +++ b/docs/documents/library/introduction.html @@ -149,18 +149,16 @@

      Introduction

      -

      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:

      +

      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:

      1. HADevice and HAMqtt instances need to be initialized once globally or as a part of another global object.

      2. -
      3. HAMqtt::begin needs to be called at the end of setup logic. It provides MQTT broker credentials that will be used for a connection.

      4. +
      5. HAMqtt::begin needs to be called at the end of Arduino’s setup logic. It lets you provide the MQTT broker’s IP address and credentials.

      6. HAMqtt::loop method needs to be called periodically (it doesn’t need to be called on each tick).

      7. Device types need to be initialized after HAMqtt class (it will be described later in the documentation).

      -

      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.

      +

      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.

      Arduino Boilerplate

      #include <Ethernet.h>
      diff --git a/docs/documents/library/mqtt-advanced.html b/docs/documents/library/mqtt-advanced.html
      index 06dcab7..4a7c499 100644
      --- a/docs/documents/library/mqtt-advanced.html
      +++ b/docs/documents/library/mqtt-advanced.html
      @@ -169,11 +169,23 @@ Please take a look at the example below.

      // this method will be called when connection to MQTT broker is established } +void onDisconnected() { + // this method will be called when connection to MQTT broker is lost +} + +void onStateChanged(HAMqtt::ConnectionState state) { + // this method will be called each time the state of the MQTT connection changes +} + void setup() { Ethernet.begin(mac); mqtt.onMessage(onMessage); mqtt.onConnected(onConnected); + mqtt.onDisconnected(onDisconnected); + mqtt.onStateChanged(onStateChanged); + mqtt.setBufferSize(512); // set the buffer size to 512 bytes, default is 256 bytes + mqtt.setKeepAlive(60); // set the keep alive interval to 60 seconds, default is 15 seconds mqtt.begin("192.168.1.50", "username", "password"); } diff --git a/docs/documents/library/mqtt-security.html b/docs/documents/library/mqtt-security.html index a99f706..b96fc3d 100644 --- a/docs/documents/library/mqtt-security.html +++ b/docs/documents/library/mqtt-security.html @@ -149,14 +149,14 @@

      MQTT security

      -

      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.

      +

      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.

      Danger

      -

      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.

      +

      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.

      #include <Ethernet.h>
       #include <ArduinoHA.h>
      @@ -178,11 +178,6 @@ On more powerful devices (like ESP), you should consider using TLS/SSL connectio
       }
       
      -
      -

      SSL connection

      -

      On ESP32/ESP8266 you can use WiFiClientSecure client to establish encrypted connection between your device and Home Assistant. -Please take a look at this example.

      -
      diff --git a/docs/genindex.html b/docs/genindex.html index b8c87c8..5290dc5 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -152,6 +152,8 @@
    • HABaseDeviceType::_componentName (C++ member)
    • HABaseDeviceType::_name (C++ member) +
    • +
    • HABaseDeviceType::_objectId (C++ member)
    • HABaseDeviceType::_serializer (C++ member)
    • @@ -172,6 +174,8 @@
    • HABaseDeviceType::destroySerializer (C++ function)
    • HABaseDeviceType::getName (C++ function) +
    • +
    • HABaseDeviceType::getObjectId (C++ function)
    • HABaseDeviceType::HABaseDeviceType (C++ function)
    • @@ -204,6 +208,8 @@
    • HABaseDeviceType::setAvailability (C++ function)
    • HABaseDeviceType::setName (C++ function) +
    • +
    • HABaseDeviceType::setObjectId (C++ function)
    • HABaseDeviceType::subscribeTopic (C++ function)
    • @@ -879,8 +885,6 @@
    • HALight::_brightnessCallback (C++ member)
    • -
    - +
  • -
  • MQTT security -
  • +
  • MQTT security
  • MQTT advanced features
    • Callbacks
    • Subscriptions
    • diff --git a/docs/objects.inv b/docs/objects.inv index e430523a009fe3f22121e6a375789438edf68db2..5a8efc085e2fa0d063dfabde8e23e57d9cd29722 100644 GIT binary patch literal 33520 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 literal 32635 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�~>Z#r6mxvB=!7{(Ue_shRMoQ-}O@9vHF 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 diff --git a/docs/searchindex.js b/docs/searchindex.js index 705648e..e2d31ce 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["documents/api/core/ha-device","documents/api/core/ha-mqtt","documents/api/core/index","documents/api/device-types/ha-base-device-type","documents/api/device-types/ha-binary-sensor","documents/api/device-types/ha-button","documents/api/device-types/ha-camera","documents/api/device-types/ha-cover","documents/api/device-types/ha-device-tracker","documents/api/device-types/ha-device-trigger","documents/api/device-types/ha-fan","documents/api/device-types/ha-hvac","documents/api/device-types/ha-light","documents/api/device-types/ha-lock","documents/api/device-types/ha-number","documents/api/device-types/ha-scene","documents/api/device-types/ha-select","documents/api/device-types/ha-sensor","documents/api/device-types/ha-sensor-number","documents/api/device-types/ha-switch","documents/api/device-types/ha-tag-scanner","documents/api/device-types/index","documents/api/index","documents/api/utils/ha-numeric","documents/api/utils/ha-serializer","documents/api/utils/ha-serializer-array","documents/api/utils/ha-utils","documents/api/utils/index","documents/getting-started/compatible-hardware","documents/getting-started/examples","documents/getting-started/index","documents/getting-started/installation","documents/getting-started/prerequisites","documents/library/availability-reporting","documents/library/compiler-macros","documents/library/connection-params","documents/library/device-configuration","documents/library/device-types","documents/library/discovery","documents/library/index","documents/library/introduction","documents/library/mqtt-advanced","documents/library/mqtt-security","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["documents/api/core/ha-device.rst","documents/api/core/ha-mqtt.rst","documents/api/core/index.rst","documents/api/device-types/ha-base-device-type.rst","documents/api/device-types/ha-binary-sensor.rst","documents/api/device-types/ha-button.rst","documents/api/device-types/ha-camera.rst","documents/api/device-types/ha-cover.rst","documents/api/device-types/ha-device-tracker.rst","documents/api/device-types/ha-device-trigger.rst","documents/api/device-types/ha-fan.rst","documents/api/device-types/ha-hvac.rst","documents/api/device-types/ha-light.rst","documents/api/device-types/ha-lock.rst","documents/api/device-types/ha-number.rst","documents/api/device-types/ha-scene.rst","documents/api/device-types/ha-select.rst","documents/api/device-types/ha-sensor.rst","documents/api/device-types/ha-sensor-number.rst","documents/api/device-types/ha-switch.rst","documents/api/device-types/ha-tag-scanner.rst","documents/api/device-types/index.rst","documents/api/index.rst","documents/api/utils/ha-numeric.rst","documents/api/utils/ha-serializer.rst","documents/api/utils/ha-serializer-array.rst","documents/api/utils/ha-utils.rst","documents/api/utils/index.rst","documents/getting-started/compatible-hardware.rst","documents/getting-started/examples.rst","documents/getting-started/index.rst","documents/getting-started/installation.rst","documents/getting-started/prerequisites.rst","documents/library/availability-reporting.rst","documents/library/compiler-macros.rst","documents/library/connection-params.rst","documents/library/device-configuration.rst","documents/library/device-types.rst","documents/library/discovery.rst","documents/library/index.rst","documents/library/introduction.rst","documents/library/mqtt-advanced.rst","documents/library/mqtt-security.rst","index.rst"],objects:{"":[[3,0,1,"_CPPv416HABaseDeviceType","HABaseDeviceType"],[3,1,1,"_CPPv4N16HABaseDeviceType12AvailabilityE","HABaseDeviceType::Availability"],[3,2,1,"_CPPv4N16HABaseDeviceType12Availability19AvailabilityDefaultE","HABaseDeviceType::Availability::AvailabilityDefault"],[3,2,1,"_CPPv4N16HABaseDeviceType12Availability19AvailabilityOfflineE","HABaseDeviceType::Availability::AvailabilityOffline"],[3,2,1,"_CPPv4N16HABaseDeviceType12Availability18AvailabilityOnlineE","HABaseDeviceType::Availability::AvailabilityOnline"],[3,2,1,"_CPPv4N16HABaseDeviceType12Availability19AvailabilityDefaultE","HABaseDeviceType::AvailabilityDefault"],[3,2,1,"_CPPv4N16HABaseDeviceType12Availability19AvailabilityOfflineE","HABaseDeviceType::AvailabilityOffline"],[3,2,1,"_CPPv4N16HABaseDeviceType12Availability18AvailabilityOnlineE","HABaseDeviceType::AvailabilityOnline"],[3,3,1,"_CPPv4N16HABaseDeviceType16HABaseDeviceTypeEPK19__FlashStringHelperPKc","HABaseDeviceType::HABaseDeviceType"],[3,4,1,"_CPPv4N16HABaseDeviceType16HABaseDeviceTypeEPK19__FlashStringHelperPKc","HABaseDeviceType::HABaseDeviceType::componentName"],[3,4,1,"_CPPv4N16HABaseDeviceType16HABaseDeviceTypeEPK19__FlashStringHelperPKc","HABaseDeviceType::HABaseDeviceType::uniqueId"],[3,1,1,"_CPPv4N16HABaseDeviceType15NumberPrecisionE","HABaseDeviceType::NumberPrecision"],[3,2,1,"_CPPv4N16HABaseDeviceType15NumberPrecision11PrecisionP0E","HABaseDeviceType::NumberPrecision::PrecisionP0"],[3,2,1,"_CPPv4N16HABaseDeviceType15NumberPrecision11PrecisionP1E","HABaseDeviceType::NumberPrecision::PrecisionP1"],[3,2,1,"_CPPv4N16HABaseDeviceType15NumberPrecision11PrecisionP2E","HABaseDeviceType::NumberPrecision::PrecisionP2"],[3,2,1,"_CPPv4N16HABaseDeviceType15NumberPrecision11PrecisionP3E","HABaseDeviceType::NumberPrecision::PrecisionP3"],[3,2,1,"_CPPv4N16HABaseDeviceType15NumberPrecision11PrecisionP0E","HABaseDeviceType::PrecisionP0"],[3,2,1,"_CPPv4N16HABaseDeviceType15NumberPrecision11PrecisionP1E","HABaseDeviceType::PrecisionP1"],[3,2,1,"_CPPv4N16HABaseDeviceType15NumberPrecision11PrecisionP2E","HABaseDeviceType::PrecisionP2"],[3,2,1,"_CPPv4N16HABaseDeviceType15NumberPrecision11PrecisionP3E","HABaseDeviceType::PrecisionP3"],[3,5,1,"_CPPv4N16HABaseDeviceType13_availabilityE","HABaseDeviceType::_availability"],[3,5,1,"_CPPv4N16HABaseDeviceType14_componentNameE","HABaseDeviceType::_componentName"],[3,5,1,"_CPPv4N16HABaseDeviceType5_nameE","HABaseDeviceType::_name"],[3,5,1,"_CPPv4N16HABaseDeviceType11_serializerE","HABaseDeviceType::_serializer"],[3,5,1,"_CPPv4N16HABaseDeviceType9_uniqueIdE","HABaseDeviceType::_uniqueId"],[3,3,1,"_CPPv4N16HABaseDeviceType15buildSerializerEv","HABaseDeviceType::buildSerializer"],[3,3,1,"_CPPv4NK16HABaseDeviceType13componentNameEv","HABaseDeviceType::componentName"],[3,3,1,"_CPPv4N16HABaseDeviceType17destroySerializerEv","HABaseDeviceType::destroySerializer"],[3,3,1,"_CPPv4NK16HABaseDeviceType7getNameEv","HABaseDeviceType::getName"],[3,3,1,"_CPPv4NK16HABaseDeviceType24isAvailabilityConfiguredEv","HABaseDeviceType::isAvailabilityConfigured"],[3,3,1,"_CPPv4NK16HABaseDeviceType8isOnlineEv","HABaseDeviceType::isOnline"],[3,3,1,"_CPPv4N16HABaseDeviceType4mqttEv","HABaseDeviceType::mqtt"],[3,3,1,"_CPPv4N16HABaseDeviceType15onMqttConnectedEv","HABaseDeviceType::onMqttConnected"],[3,3,1,"_CPPv4N16HABaseDeviceType13onMqttMessageEPKcPK7uint8_tK8uint16_t","HABaseDeviceType::onMqttMessage"],[3,4,1,"_CPPv4N16HABaseDeviceType13onMqttMessageEPKcPK7uint8_tK8uint16_t","HABaseDeviceType::onMqttMessage::length"],[3,4,1,"_CPPv4N16HABaseDeviceType13onMqttMessageEPKcPK7uint8_tK8uint16_t","HABaseDeviceType::onMqttMessage::payload"],[3,4,1,"_CPPv4N16HABaseDeviceType13onMqttMessageEPKcPK7uint8_tK8uint16_t","HABaseDeviceType::onMqttMessage::topic"],[3,3,1,"_CPPv4N16HABaseDeviceType19publishAvailabilityEv","HABaseDeviceType::publishAvailability"],[3,3,1,"_CPPv4N16HABaseDeviceType13publishConfigEv","HABaseDeviceType::publishConfig"],[3,3,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK19__FlashStringHelperb","HABaseDeviceType::publishOnDataTopic"],[3,3,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK7uint8_tK8uint16_tbb","HABaseDeviceType::publishOnDataTopic"],[3,3,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPKcb","HABaseDeviceType::publishOnDataTopic"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK7uint8_tK8uint16_tbb","HABaseDeviceType::publishOnDataTopic::isProgmemData"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK7uint8_tK8uint16_tbb","HABaseDeviceType::publishOnDataTopic::length"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK19__FlashStringHelperb","HABaseDeviceType::publishOnDataTopic::payload"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK7uint8_tK8uint16_tbb","HABaseDeviceType::publishOnDataTopic::payload"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPKcb","HABaseDeviceType::publishOnDataTopic::payload"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK19__FlashStringHelperb","HABaseDeviceType::publishOnDataTopic::retained"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK7uint8_tK8uint16_tbb","HABaseDeviceType::publishOnDataTopic::retained"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPKcb","HABaseDeviceType::publishOnDataTopic::retained"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK19__FlashStringHelperb","HABaseDeviceType::publishOnDataTopic::topic"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK7uint8_tK8uint16_tbb","HABaseDeviceType::publishOnDataTopic::topic"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPKcb","HABaseDeviceType::publishOnDataTopic::topic"],[3,3,1,"_CPPv4N16HABaseDeviceType15setAvailabilityEb","HABaseDeviceType::setAvailability"],[3,4,1,"_CPPv4N16HABaseDeviceType15setAvailabilityEb","HABaseDeviceType::setAvailability::online"],[3,3,1,"_CPPv4N16HABaseDeviceType7setNameEPKc","HABaseDeviceType::setName"],[3,4,1,"_CPPv4N16HABaseDeviceType7setNameEPKc","HABaseDeviceType::setName::name"],[3,3,1,"_CPPv4N16HABaseDeviceType14subscribeTopicEPKcPK19__FlashStringHelper","HABaseDeviceType::subscribeTopic"],[3,4,1,"_CPPv4N16HABaseDeviceType14subscribeTopicEPKcPK19__FlashStringHelper","HABaseDeviceType::subscribeTopic::topic"],[3,4,1,"_CPPv4N16HABaseDeviceType14subscribeTopicEPKcPK19__FlashStringHelper","HABaseDeviceType::subscribeTopic::uniqueId"],[3,3,1,"_CPPv4NK16HABaseDeviceType8uniqueIdEv","HABaseDeviceType::uniqueId"],[4,0,1,"_CPPv414HABinarySensor","HABinarySensor"],[4,3,1,"_CPPv4N14HABinarySensor14HABinarySensorEPKc","HABinarySensor::HABinarySensor"],[4,4,1,"_CPPv4N14HABinarySensor14HABinarySensorEPKc","HABinarySensor::HABinarySensor::uniqueId"],[4,5,1,"_CPPv4N14HABinarySensor6_classE","HABinarySensor::_class"],[4,5,1,"_CPPv4N14HABinarySensor13_currentStateE","HABinarySensor::_currentState"],[4,5,1,"_CPPv4N14HABinarySensor12_expireAfterE","HABinarySensor::_expireAfter"],[4,5,1,"_CPPv4N14HABinarySensor5_iconE","HABinarySensor::_icon"],[4,3,1,"_CPPv4N14HABinarySensor15buildSerializerEv","HABinarySensor::buildSerializer"],[4,3,1,"_CPPv4NK14HABinarySensor15getCurrentStateEv","HABinarySensor::getCurrentState"],[4,3,1,"_CPPv4N14HABinarySensor15onMqttConnectedEv","HABinarySensor::onMqttConnected"],[4,3,1,"_CPPv4N14HABinarySensor12publishStateEb","HABinarySensor::publishState"],[4,4,1,"_CPPv4N14HABinarySensor12publishStateEb","HABinarySensor::publishState::state"],[4,3,1,"_CPPv4N14HABinarySensor15setCurrentStateEKb","HABinarySensor::setCurrentState"],[4,4,1,"_CPPv4N14HABinarySensor15setCurrentStateEKb","HABinarySensor::setCurrentState::state"],[4,3,1,"_CPPv4N14HABinarySensor14setDeviceClassEPKc","HABinarySensor::setDeviceClass"],[4,4,1,"_CPPv4N14HABinarySensor14setDeviceClassEPKc","HABinarySensor::setDeviceClass::deviceClass"],[4,3,1,"_CPPv4N14HABinarySensor14setExpireAfterE8uint16_t","HABinarySensor::setExpireAfter"],[4,4,1,"_CPPv4N14HABinarySensor14setExpireAfterE8uint16_t","HABinarySensor::setExpireAfter::expireAfter"],[4,3,1,"_CPPv4N14HABinarySensor7setIconEPKc","HABinarySensor::setIcon"],[4,4,1,"_CPPv4N14HABinarySensor7setIconEPKc","HABinarySensor::setIcon::icon"],[4,3,1,"_CPPv4N14HABinarySensor8setStateEKbKb","HABinarySensor::setState"],[4,4,1,"_CPPv4N14HABinarySensor8setStateEKbKb","HABinarySensor::setState::force"],[4,4,1,"_CPPv4N14HABinarySensor8setStateEKbKb","HABinarySensor::setState::state"],[5,0,1,"_CPPv48HAButton","HAButton"],[5,3,1,"_CPPv4N8HAButton8HAButtonEPKc","HAButton::HAButton"],[5,4,1,"_CPPv4N8HAButton8HAButtonEPKc","HAButton::HAButton::uniqueId"],[5,5,1,"_CPPv4N8HAButton6_classE","HAButton::_class"],[5,5,1,"_CPPv4N8HAButton16_commandCallbackE","HAButton::_commandCallback"],[5,5,1,"_CPPv4N8HAButton5_iconE","HAButton::_icon"],[5,5,1,"_CPPv4N8HAButton7_retainE","HAButton::_retain"],[5,3,1,"_CPPv4N8HAButton15buildSerializerEv","HAButton::buildSerializer"],[5,3,1,"_CPPv4N8HAButton9onCommandEPFvP8HAButtonE","HAButton::onCommand"],[5,4,1,"_CPPv4N8HAButton9onCommandEPFvP8HAButtonE","HAButton::onCommand::callback"],[5,3,1,"_CPPv4N8HAButton15onMqttConnectedEv","HAButton::onMqttConnected"],[5,3,1,"_CPPv4N8HAButton13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAButton::onMqttMessage"],[5,4,1,"_CPPv4N8HAButton13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAButton::onMqttMessage::length"],[5,4,1,"_CPPv4N8HAButton13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAButton::onMqttMessage::payload"],[5,4,1,"_CPPv4N8HAButton13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAButton::onMqttMessage::topic"],[5,3,1,"_CPPv4N8HAButton14setDeviceClassEPKc","HAButton::setDeviceClass"],[5,4,1,"_CPPv4N8HAButton14setDeviceClassEPKc","HAButton::setDeviceClass::deviceClass"],[5,3,1,"_CPPv4N8HAButton7setIconEPKc","HAButton::setIcon"],[5,4,1,"_CPPv4N8HAButton7setIconEPKc","HAButton::setIcon::icon"],[5,3,1,"_CPPv4N8HAButton9setRetainEKb","HAButton::setRetain"],[5,4,1,"_CPPv4N8HAButton9setRetainEKb","HAButton::setRetain::retain"],[6,0,1,"_CPPv48HACamera","HACamera"],[6,2,1,"_CPPv4N8HACamera13ImageEncoding14EncodingBase64E","HACamera::EncodingBase64"],[6,2,1,"_CPPv4N8HACamera13ImageEncoding14EncodingBinaryE","HACamera::EncodingBinary"],[6,3,1,"_CPPv4N8HACamera8HACameraEPKc","HACamera::HACamera"],[6,4,1,"_CPPv4N8HACamera8HACameraEPKc","HACamera::HACamera::uniqueId"],[6,1,1,"_CPPv4N8HACamera13ImageEncodingE","HACamera::ImageEncoding"],[6,2,1,"_CPPv4N8HACamera13ImageEncoding14EncodingBase64E","HACamera::ImageEncoding::EncodingBase64"],[6,2,1,"_CPPv4N8HACamera13ImageEncoding14EncodingBinaryE","HACamera::ImageEncoding::EncodingBinary"],[6,5,1,"_CPPv4N8HACamera9_encodingE","HACamera::_encoding"],[6,5,1,"_CPPv4N8HACamera5_iconE","HACamera::_icon"],[6,3,1,"_CPPv4N8HACamera15buildSerializerEv","HACamera::buildSerializer"],[6,3,1,"_CPPv4NK8HACamera19getEncodingPropertyEv","HACamera::getEncodingProperty"],[6,3,1,"_CPPv4N8HACamera15onMqttConnectedEv","HACamera::onMqttConnected"],[6,3,1,"_CPPv4N8HACamera12publishImageEPK7uint8_tK8uint16_t","HACamera::publishImage"],[6,4,1,"_CPPv4N8HACamera12publishImageEPK7uint8_tK8uint16_t","HACamera::publishImage::data"],[6,4,1,"_CPPv4N8HACamera12publishImageEPK7uint8_tK8uint16_t","HACamera::publishImage::length"],[6,3,1,"_CPPv4N8HACamera11setEncodingEK13ImageEncoding","HACamera::setEncoding"],[6,4,1,"_CPPv4N8HACamera11setEncodingEK13ImageEncoding","HACamera::setEncoding::encoding"],[6,3,1,"_CPPv4N8HACamera7setIconEPKc","HACamera::setIcon"],[6,4,1,"_CPPv4N8HACamera7setIconEPKc","HACamera::setIcon::icon"],[7,0,1,"_CPPv47HACover","HACover"],[7,2,1,"_CPPv4N7HACover12CoverCommand12CommandCloseE","HACover::CommandClose"],[7,2,1,"_CPPv4N7HACover12CoverCommand11CommandOpenE","HACover::CommandOpen"],[7,2,1,"_CPPv4N7HACover12CoverCommand11CommandStopE","HACover::CommandStop"],[7,1,1,"_CPPv4N7HACover12CoverCommandE","HACover::CoverCommand"],[7,2,1,"_CPPv4N7HACover12CoverCommand12CommandCloseE","HACover::CoverCommand::CommandClose"],[7,2,1,"_CPPv4N7HACover12CoverCommand11CommandOpenE","HACover::CoverCommand::CommandOpen"],[7,2,1,"_CPPv4N7HACover12CoverCommand11CommandStopE","HACover::CoverCommand::CommandStop"],[7,1,1,"_CPPv4N7HACover10CoverStateE","HACover::CoverState"],[7,2,1,"_CPPv4N7HACover10CoverState11StateClosedE","HACover::CoverState::StateClosed"],[7,2,1,"_CPPv4N7HACover10CoverState12StateClosingE","HACover::CoverState::StateClosing"],[7,2,1,"_CPPv4N7HACover10CoverState9StateOpenE","HACover::CoverState::StateOpen"],[7,2,1,"_CPPv4N7HACover10CoverState12StateOpeningE","HACover::CoverState::StateOpening"],[7,2,1,"_CPPv4N7HACover10CoverState12StateStoppedE","HACover::CoverState::StateStopped"],[7,2,1,"_CPPv4N7HACover10CoverState12StateUnknownE","HACover::CoverState::StateUnknown"],[7,2,1,"_CPPv4N7HACover8Features15DefaultFeaturesE","HACover::DefaultFeatures"],[7,5,1,"_CPPv4N7HACover15DefaultPositionE","HACover::DefaultPosition"],[7,1,1,"_CPPv4N7HACover8FeaturesE","HACover::Features"],[7,2,1,"_CPPv4N7HACover8Features15DefaultFeaturesE","HACover::Features::DefaultFeatures"],[7,2,1,"_CPPv4N7HACover8Features15PositionFeatureE","HACover::Features::PositionFeature"],[7,3,1,"_CPPv4N7HACover7HACoverEPKcK8Features","HACover::HACover"],[7,4,1,"_CPPv4N7HACover7HACoverEPKcK8Features","HACover::HACover::features"],[7,4,1,"_CPPv4N7HACover7HACoverEPKcK8Features","HACover::HACover::uniqueId"],[7,2,1,"_CPPv4N7HACover8Features15PositionFeatureE","HACover::PositionFeature"],[7,2,1,"_CPPv4N7HACover10CoverState11StateClosedE","HACover::StateClosed"],[7,2,1,"_CPPv4N7HACover10CoverState12StateClosingE","HACover::StateClosing"],[7,2,1,"_CPPv4N7HACover10CoverState9StateOpenE","HACover::StateOpen"],[7,2,1,"_CPPv4N7HACover10CoverState12StateOpeningE","HACover::StateOpening"],[7,2,1,"_CPPv4N7HACover10CoverState12StateStoppedE","HACover::StateStopped"],[7,2,1,"_CPPv4N7HACover10CoverState12StateUnknownE","HACover::StateUnknown"],[7,5,1,"_CPPv4N7HACover6_classE","HACover::_class"],[7,5,1,"_CPPv4N7HACover16_commandCallbackE","HACover::_commandCallback"],[7,5,1,"_CPPv4N7HACover16_currentPositionE","HACover::_currentPosition"],[7,5,1,"_CPPv4N7HACover13_currentStateE","HACover::_currentState"],[7,5,1,"_CPPv4N7HACover9_featuresE","HACover::_features"],[7,5,1,"_CPPv4N7HACover5_iconE","HACover::_icon"],[7,5,1,"_CPPv4N7HACover11_optimisticE","HACover::_optimistic"],[7,5,1,"_CPPv4N7HACover7_retainE","HACover::_retain"],[7,3,1,"_CPPv4N7HACover15buildSerializerEv","HACover::buildSerializer"],[7,3,1,"_CPPv4NK7HACover18getCurrentPositionEv","HACover::getCurrentPosition"],[7,3,1,"_CPPv4NK7HACover15getCurrentStateEv","HACover::getCurrentState"],[7,3,1,"_CPPv4N7HACover13handleCommandEPK7uint8_tK8uint16_t","HACover::handleCommand"],[7,4,1,"_CPPv4N7HACover13handleCommandEPK7uint8_tK8uint16_t","HACover::handleCommand::cmd"],[7,4,1,"_CPPv4N7HACover13handleCommandEPK7uint8_tK8uint16_t","HACover::handleCommand::length"],[7,3,1,"_CPPv4N7HACover9onCommandEPFv12CoverCommandP7HACoverE","HACover::onCommand"],[7,4,1,"_CPPv4N7HACover9onCommandEPFv12CoverCommandP7HACoverE","HACover::onCommand::callback"],[7,3,1,"_CPPv4N7HACover15onMqttConnectedEv","HACover::onMqttConnected"],[7,3,1,"_CPPv4N7HACover13onMqttMessageEPKcPK7uint8_tK8uint16_t","HACover::onMqttMessage"],[7,4,1,"_CPPv4N7HACover13onMqttMessageEPKcPK7uint8_tK8uint16_t","HACover::onMqttMessage::length"],[7,4,1,"_CPPv4N7HACover13onMqttMessageEPKcPK7uint8_tK8uint16_t","HACover::onMqttMessage::payload"],[7,4,1,"_CPPv4N7HACover13onMqttMessageEPKcPK7uint8_tK8uint16_t","HACover::onMqttMessage::topic"],[7,3,1,"_CPPv4N7HACover15publishPositionEK7int16_t","HACover::publishPosition"],[7,4,1,"_CPPv4N7HACover15publishPositionEK7int16_t","HACover::publishPosition::position"],[7,3,1,"_CPPv4N7HACover12publishStateEK10CoverState","HACover::publishState"],[7,4,1,"_CPPv4N7HACover12publishStateEK10CoverState","HACover::publishState::state"],[7,3,1,"_CPPv4N7HACover18setCurrentPositionEK7int16_t","HACover::setCurrentPosition"],[7,4,1,"_CPPv4N7HACover18setCurrentPositionEK7int16_t","HACover::setCurrentPosition::position"],[7,3,1,"_CPPv4N7HACover15setCurrentStateEK10CoverState","HACover::setCurrentState"],[7,4,1,"_CPPv4N7HACover15setCurrentStateEK10CoverState","HACover::setCurrentState::state"],[7,3,1,"_CPPv4N7HACover14setDeviceClassEPKc","HACover::setDeviceClass"],[7,4,1,"_CPPv4N7HACover14setDeviceClassEPKc","HACover::setDeviceClass::deviceClass"],[7,3,1,"_CPPv4N7HACover7setIconEPKc","HACover::setIcon"],[7,4,1,"_CPPv4N7HACover7setIconEPKc","HACover::setIcon::icon"],[7,3,1,"_CPPv4N7HACover13setOptimisticEKb","HACover::setOptimistic"],[7,4,1,"_CPPv4N7HACover13setOptimisticEKb","HACover::setOptimistic::optimistic"],[7,3,1,"_CPPv4N7HACover11setPositionEK7int16_tKb","HACover::setPosition"],[7,4,1,"_CPPv4N7HACover11setPositionEK7int16_tKb","HACover::setPosition::force"],[7,4,1,"_CPPv4N7HACover11setPositionEK7int16_tKb","HACover::setPosition::position"],[7,3,1,"_CPPv4N7HACover9setRetainEKb","HACover::setRetain"],[7,4,1,"_CPPv4N7HACover9setRetainEKb","HACover::setRetain::retain"],[7,3,1,"_CPPv4N7HACover8setStateEK10CoverStateKb","HACover::setState"],[7,4,1,"_CPPv4N7HACover8setStateEK10CoverStateKb","HACover::setState::force"],[7,4,1,"_CPPv4N7HACover8setStateEK10CoverStateKb","HACover::setState::state"],[0,0,1,"_CPPv48HADevice","HADevice"],[0,3,1,"_CPPv4N8HADevice8HADeviceEPK4byteK8uint16_t","HADevice::HADevice"],[0,3,1,"_CPPv4N8HADevice8HADeviceEPKc","HADevice::HADevice"],[0,3,1,"_CPPv4N8HADevice8HADeviceEv","HADevice::HADevice"],[0,4,1,"_CPPv4N8HADevice8HADeviceEPK4byteK8uint16_t","HADevice::HADevice::length"],[0,4,1,"_CPPv4N8HADevice8HADeviceEPK4byteK8uint16_t","HADevice::HADevice::uniqueId"],[0,4,1,"_CPPv4N8HADevice8HADeviceEPKc","HADevice::HADevice::uniqueId"],[0,5,1,"_CPPv4N8HADevice18_availabilityTopicE","HADevice::_availabilityTopic"],[0,5,1,"_CPPv4N8HADevice10_availableE","HADevice::_available"],[0,5,1,"_CPPv4N8HADevice18_extendedUniqueIdsE","HADevice::_extendedUniqueIds"],[0,5,1,"_CPPv4N8HADevice13_ownsUniqueIdE","HADevice::_ownsUniqueId"],[0,5,1,"_CPPv4N8HADevice11_serializerE","HADevice::_serializer"],[0,5,1,"_CPPv4N8HADevice19_sharedAvailabilityE","HADevice::_sharedAvailability"],[0,5,1,"_CPPv4N8HADevice9_uniqueIdE","HADevice::_uniqueId"],[0,3,1,"_CPPv4N8HADevice23enableExtendedUniqueIdsEv","HADevice::enableExtendedUniqueIds"],[0,3,1,"_CPPv4N8HADevice14enableLastWillEv","HADevice::enableLastWill"],[0,3,1,"_CPPv4N8HADevice24enableSharedAvailabilityEv","HADevice::enableSharedAvailability"],[0,3,1,"_CPPv4NK8HADevice20getAvailabilityTopicEv","HADevice::getAvailabilityTopic"],[0,3,1,"_CPPv4NK8HADevice13getSerializerEv","HADevice::getSerializer"],[0,3,1,"_CPPv4NK8HADevice11getUniqueIdEv","HADevice::getUniqueId"],[0,3,1,"_CPPv4NK8HADevice11isAvailableEv","HADevice::isAvailable"],[0,3,1,"_CPPv4NK8HADevice26isExtendedUniqueIdsEnabledEv","HADevice::isExtendedUniqueIdsEnabled"],[0,3,1,"_CPPv4NK8HADevice27isSharedAvailabilityEnabledEv","HADevice::isSharedAvailabilityEnabled"],[0,3,1,"_CPPv4NK8HADevice19publishAvailabilityEv","HADevice::publishAvailability"],[0,3,1,"_CPPv4N8HADevice15setAvailabilityEb","HADevice::setAvailability"],[0,4,1,"_CPPv4N8HADevice15setAvailabilityEb","HADevice::setAvailability::online"],[0,3,1,"_CPPv4N8HADevice19setConfigurationUrlEPKc","HADevice::setConfigurationUrl"],[0,4,1,"_CPPv4N8HADevice19setConfigurationUrlEPKc","HADevice::setConfigurationUrl::url"],[0,3,1,"_CPPv4N8HADevice15setManufacturerEPKc","HADevice::setManufacturer"],[0,4,1,"_CPPv4N8HADevice15setManufacturerEPKc","HADevice::setManufacturer::manufacturer"],[0,3,1,"_CPPv4N8HADevice8setModelEPKc","HADevice::setModel"],[0,4,1,"_CPPv4N8HADevice8setModelEPKc","HADevice::setModel::model"],[0,3,1,"_CPPv4N8HADevice7setNameEPKc","HADevice::setName"],[0,4,1,"_CPPv4N8HADevice7setNameEPKc","HADevice::setName::name"],[0,3,1,"_CPPv4N8HADevice18setSoftwareVersionEPKc","HADevice::setSoftwareVersion"],[0,4,1,"_CPPv4N8HADevice18setSoftwareVersionEPKc","HADevice::setSoftwareVersion::softwareVersion"],[0,3,1,"_CPPv4N8HADevice11setUniqueIdEPK4byteK8uint16_t","HADevice::setUniqueId"],[0,4,1,"_CPPv4N8HADevice11setUniqueIdEPK4byteK8uint16_t","HADevice::setUniqueId::length"],[0,4,1,"_CPPv4N8HADevice11setUniqueIdEPK4byteK8uint16_t","HADevice::setUniqueId::uniqueId"],[0,3,1,"_CPPv4N8HADeviceD0Ev","HADevice::~HADevice"],[8,0,1,"_CPPv415HADeviceTracker","HADeviceTracker"],[8,3,1,"_CPPv4N15HADeviceTracker15HADeviceTrackerEPKc","HADeviceTracker::HADeviceTracker"],[8,4,1,"_CPPv4N15HADeviceTracker15HADeviceTrackerEPKc","HADeviceTracker::HADeviceTracker::uniqueId"],[8,1,1,"_CPPv4N15HADeviceTracker10SourceTypeE","HADeviceTracker::SourceType"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType19SourceTypeBluetoothE","HADeviceTracker::SourceType::SourceTypeBluetooth"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType21SourceTypeBluetoothLEE","HADeviceTracker::SourceType::SourceTypeBluetoothLE"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType13SourceTypeGPSE","HADeviceTracker::SourceType::SourceTypeGPS"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType16SourceTypeRouterE","HADeviceTracker::SourceType::SourceTypeRouter"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType17SourceTypeUnknownE","HADeviceTracker::SourceType::SourceTypeUnknown"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType19SourceTypeBluetoothE","HADeviceTracker::SourceTypeBluetooth"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType21SourceTypeBluetoothLEE","HADeviceTracker::SourceTypeBluetoothLE"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType13SourceTypeGPSE","HADeviceTracker::SourceTypeGPS"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType16SourceTypeRouterE","HADeviceTracker::SourceTypeRouter"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType17SourceTypeUnknownE","HADeviceTracker::SourceTypeUnknown"],[8,2,1,"_CPPv4N15HADeviceTracker12TrackerState9StateHomeE","HADeviceTracker::StateHome"],[8,2,1,"_CPPv4N15HADeviceTracker12TrackerState17StateNotAvailableE","HADeviceTracker::StateNotAvailable"],[8,2,1,"_CPPv4N15HADeviceTracker12TrackerState12StateNotHomeE","HADeviceTracker::StateNotHome"],[8,2,1,"_CPPv4N15HADeviceTracker12TrackerState12StateUnknownE","HADeviceTracker::StateUnknown"],[8,1,1,"_CPPv4N15HADeviceTracker12TrackerStateE","HADeviceTracker::TrackerState"],[8,2,1,"_CPPv4N15HADeviceTracker12TrackerState9StateHomeE","HADeviceTracker::TrackerState::StateHome"],[8,2,1,"_CPPv4N15HADeviceTracker12TrackerState17StateNotAvailableE","HADeviceTracker::TrackerState::StateNotAvailable"],[8,2,1,"_CPPv4N15HADeviceTracker12TrackerState12StateNotHomeE","HADeviceTracker::TrackerState::StateNotHome"],[8,2,1,"_CPPv4N15HADeviceTracker12TrackerState12StateUnknownE","HADeviceTracker::TrackerState::StateUnknown"],[8,5,1,"_CPPv4N15HADeviceTracker13_currentStateE","HADeviceTracker::_currentState"],[8,5,1,"_CPPv4N15HADeviceTracker5_iconE","HADeviceTracker::_icon"],[8,5,1,"_CPPv4N15HADeviceTracker11_sourceTypeE","HADeviceTracker::_sourceType"],[8,3,1,"_CPPv4N15HADeviceTracker15buildSerializerEv","HADeviceTracker::buildSerializer"],[8,3,1,"_CPPv4NK15HADeviceTracker21getSourceTypePropertyEv","HADeviceTracker::getSourceTypeProperty"],[8,3,1,"_CPPv4NK15HADeviceTracker8getStateEv","HADeviceTracker::getState"],[8,3,1,"_CPPv4N15HADeviceTracker15onMqttConnectedEv","HADeviceTracker::onMqttConnected"],[8,3,1,"_CPPv4N15HADeviceTracker12publishStateE12TrackerState","HADeviceTracker::publishState"],[8,4,1,"_CPPv4N15HADeviceTracker12publishStateE12TrackerState","HADeviceTracker::publishState::state"],[8,3,1,"_CPPv4N15HADeviceTracker15setCurrentStateEK12TrackerState","HADeviceTracker::setCurrentState"],[8,4,1,"_CPPv4N15HADeviceTracker15setCurrentStateEK12TrackerState","HADeviceTracker::setCurrentState::state"],[8,3,1,"_CPPv4N15HADeviceTracker7setIconEPKc","HADeviceTracker::setIcon"],[8,4,1,"_CPPv4N15HADeviceTracker7setIconEPKc","HADeviceTracker::setIcon::icon"],[8,3,1,"_CPPv4N15HADeviceTracker13setSourceTypeEK10SourceType","HADeviceTracker::setSourceType"],[8,4,1,"_CPPv4N15HADeviceTracker13setSourceTypeEK10SourceType","HADeviceTracker::setSourceType::type"],[8,3,1,"_CPPv4N15HADeviceTracker8setStateEK12TrackerStateKb","HADeviceTracker::setState"],[8,4,1,"_CPPv4N15HADeviceTracker8setStateEK12TrackerStateKb","HADeviceTracker::setState::force"],[8,4,1,"_CPPv4N15HADeviceTracker8setStateEK12TrackerStateKb","HADeviceTracker::setState::state"],[9,0,1,"_CPPv415HADeviceTrigger","HADeviceTrigger"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button1SubtypeE","HADeviceTrigger::Button1Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button2SubtypeE","HADeviceTrigger::Button2Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button3SubtypeE","HADeviceTrigger::Button3Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button4SubtypeE","HADeviceTrigger::Button4Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button5SubtypeE","HADeviceTrigger::Button5Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button6SubtypeE","HADeviceTrigger::Button6Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType21ButtonDoublePressTypeE","HADeviceTrigger::ButtonDoublePressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType19ButtonLongPressTypeE","HADeviceTrigger::ButtonLongPressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType21ButtonLongReleaseTypeE","HADeviceTrigger::ButtonLongReleaseType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType24ButtonQuadruplePressTypeE","HADeviceTrigger::ButtonQuadruplePressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType24ButtonQuintuplePressTypeE","HADeviceTrigger::ButtonQuintuplePressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType20ButtonShortPressTypeE","HADeviceTrigger::ButtonShortPressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType22ButtonShortReleaseTypeE","HADeviceTrigger::ButtonShortReleaseType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType21ButtonTriplePressTypeE","HADeviceTrigger::ButtonTriplePressType"],[9,3,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerE11TriggerType14TriggerSubtype","HADeviceTrigger::HADeviceTrigger"],[9,3,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerE11TriggerTypePKc","HADeviceTrigger::HADeviceTrigger"],[9,3,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerEPKc14TriggerSubtype","HADeviceTrigger::HADeviceTrigger"],[9,3,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerEPKcPKc","HADeviceTrigger::HADeviceTrigger"],[9,4,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerE11TriggerType14TriggerSubtype","HADeviceTrigger::HADeviceTrigger::subtype"],[9,4,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerE11TriggerTypePKc","HADeviceTrigger::HADeviceTrigger::subtype"],[9,4,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerEPKc14TriggerSubtype","HADeviceTrigger::HADeviceTrigger::subtype"],[9,4,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerEPKcPKc","HADeviceTrigger::HADeviceTrigger::subtype"],[9,4,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerE11TriggerType14TriggerSubtype","HADeviceTrigger::HADeviceTrigger::type"],[9,4,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerE11TriggerTypePKc","HADeviceTrigger::HADeviceTrigger::type"],[9,4,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerEPKc14TriggerSubtype","HADeviceTrigger::HADeviceTrigger::type"],[9,4,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerEPKcPKc","HADeviceTrigger::HADeviceTrigger::type"],[9,1,1,"_CPPv4N15HADeviceTrigger14TriggerSubtypeE","HADeviceTrigger::TriggerSubtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button1SubtypeE","HADeviceTrigger::TriggerSubtype::Button1Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button2SubtypeE","HADeviceTrigger::TriggerSubtype::Button2Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button3SubtypeE","HADeviceTrigger::TriggerSubtype::Button3Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button4SubtypeE","HADeviceTrigger::TriggerSubtype::Button4Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button5SubtypeE","HADeviceTrigger::TriggerSubtype::Button5Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button6SubtypeE","HADeviceTrigger::TriggerSubtype::Button6Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14TurnOffSubtypeE","HADeviceTrigger::TriggerSubtype::TurnOffSubtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype13TurnOnSubtypeE","HADeviceTrigger::TriggerSubtype::TurnOnSubtype"],[9,1,1,"_CPPv4N15HADeviceTrigger11TriggerTypeE","HADeviceTrigger::TriggerType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType21ButtonDoublePressTypeE","HADeviceTrigger::TriggerType::ButtonDoublePressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType19ButtonLongPressTypeE","HADeviceTrigger::TriggerType::ButtonLongPressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType21ButtonLongReleaseTypeE","HADeviceTrigger::TriggerType::ButtonLongReleaseType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType24ButtonQuadruplePressTypeE","HADeviceTrigger::TriggerType::ButtonQuadruplePressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType24ButtonQuintuplePressTypeE","HADeviceTrigger::TriggerType::ButtonQuintuplePressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType20ButtonShortPressTypeE","HADeviceTrigger::TriggerType::ButtonShortPressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType22ButtonShortReleaseTypeE","HADeviceTrigger::TriggerType::ButtonShortReleaseType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType21ButtonTriplePressTypeE","HADeviceTrigger::TriggerType::ButtonTriplePressType"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14TurnOffSubtypeE","HADeviceTrigger::TurnOffSubtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype13TurnOnSubtypeE","HADeviceTrigger::TurnOnSubtype"],[9,5,1,"_CPPv4N15HADeviceTrigger17_isProgmemSubtypeE","HADeviceTrigger::_isProgmemSubtype"],[9,5,1,"_CPPv4N15HADeviceTrigger14_isProgmemTypeE","HADeviceTrigger::_isProgmemType"],[9,5,1,"_CPPv4N15HADeviceTrigger8_subtypeE","HADeviceTrigger::_subtype"],[9,5,1,"_CPPv4N15HADeviceTrigger5_typeE","HADeviceTrigger::_type"],[9,3,1,"_CPPv4N15HADeviceTrigger15buildSerializerEv","HADeviceTrigger::buildSerializer"],[9,3,1,"_CPPv4N15HADeviceTrigger13buildUniqueIdEv","HADeviceTrigger::buildUniqueId"],[9,3,1,"_CPPv4NK15HADeviceTrigger15calculateIdSizeEv","HADeviceTrigger::calculateIdSize"],[9,3,1,"_CPPv4NK15HADeviceTrigger23determineProgmemSubtypeE14TriggerSubtype","HADeviceTrigger::determineProgmemSubtype"],[9,4,1,"_CPPv4NK15HADeviceTrigger23determineProgmemSubtypeE14TriggerSubtype","HADeviceTrigger::determineProgmemSubtype::subtype"],[9,3,1,"_CPPv4NK15HADeviceTrigger20determineProgmemTypeE11TriggerType","HADeviceTrigger::determineProgmemType"],[9,4,1,"_CPPv4NK15HADeviceTrigger20determineProgmemTypeE11TriggerType","HADeviceTrigger::determineProgmemType::type"],[9,3,1,"_CPPv4NK15HADeviceTrigger10getSubtypeEv","HADeviceTrigger::getSubtype"],[9,3,1,"_CPPv4NK15HADeviceTrigger7getTypeEv","HADeviceTrigger::getType"],[9,3,1,"_CPPv4NK15HADeviceTrigger16isProgmemSubtypeEv","HADeviceTrigger::isProgmemSubtype"],[9,3,1,"_CPPv4NK15HADeviceTrigger13isProgmemTypeEv","HADeviceTrigger::isProgmemType"],[9,3,1,"_CPPv4N15HADeviceTrigger15onMqttConnectedEv","HADeviceTrigger::onMqttConnected"],[9,3,1,"_CPPv4N15HADeviceTrigger7triggerEv","HADeviceTrigger::trigger"],[9,3,1,"_CPPv4N15HADeviceTriggerD0Ev","HADeviceTrigger::~HADeviceTrigger"],[10,0,1,"_CPPv45HAFan","HAFan"],[10,2,1,"_CPPv4N5HAFan8Features15DefaultFeaturesE","HAFan::DefaultFeatures"],[10,1,1,"_CPPv4N5HAFan8FeaturesE","HAFan::Features"],[10,2,1,"_CPPv4N5HAFan8Features15DefaultFeaturesE","HAFan::Features::DefaultFeatures"],[10,2,1,"_CPPv4N5HAFan8Features13SpeedsFeatureE","HAFan::Features::SpeedsFeature"],[10,3,1,"_CPPv4N5HAFan5HAFanEPKcK7uint8_t","HAFan::HAFan"],[10,4,1,"_CPPv4N5HAFan5HAFanEPKcK7uint8_t","HAFan::HAFan::features"],[10,4,1,"_CPPv4N5HAFan5HAFanEPKcK7uint8_t","HAFan::HAFan::uniqueId"],[10,2,1,"_CPPv4N5HAFan8Features13SpeedsFeatureE","HAFan::SpeedsFeature"],[10,5,1,"_CPPv4N5HAFan13_currentSpeedE","HAFan::_currentSpeed"],[10,5,1,"_CPPv4N5HAFan13_currentStateE","HAFan::_currentState"],[10,5,1,"_CPPv4N5HAFan9_featuresE","HAFan::_features"],[10,5,1,"_CPPv4N5HAFan5_iconE","HAFan::_icon"],[10,5,1,"_CPPv4N5HAFan11_optimisticE","HAFan::_optimistic"],[10,5,1,"_CPPv4N5HAFan7_retainE","HAFan::_retain"],[10,5,1,"_CPPv4N5HAFan14_speedCallbackE","HAFan::_speedCallback"],[10,5,1,"_CPPv4N5HAFan14_speedRangeMaxE","HAFan::_speedRangeMax"],[10,5,1,"_CPPv4N5HAFan14_speedRangeMinE","HAFan::_speedRangeMin"],[10,5,1,"_CPPv4N5HAFan14_stateCallbackE","HAFan::_stateCallback"],[10,3,1,"_CPPv4N5HAFan15buildSerializerEv","HAFan::buildSerializer"],[10,3,1,"_CPPv4NK5HAFan15getCurrentSpeedEv","HAFan::getCurrentSpeed"],[10,3,1,"_CPPv4NK5HAFan15getCurrentStateEv","HAFan::getCurrentState"],[10,3,1,"_CPPv4N5HAFan18handleSpeedCommandEPK7uint8_tK8uint16_t","HAFan::handleSpeedCommand"],[10,4,1,"_CPPv4N5HAFan18handleSpeedCommandEPK7uint8_tK8uint16_t","HAFan::handleSpeedCommand::cmd"],[10,4,1,"_CPPv4N5HAFan18handleSpeedCommandEPK7uint8_tK8uint16_t","HAFan::handleSpeedCommand::length"],[10,3,1,"_CPPv4N5HAFan18handleStateCommandEPK7uint8_tK8uint16_t","HAFan::handleStateCommand"],[10,4,1,"_CPPv4N5HAFan18handleStateCommandEPK7uint8_tK8uint16_t","HAFan::handleStateCommand::cmd"],[10,4,1,"_CPPv4N5HAFan18handleStateCommandEPK7uint8_tK8uint16_t","HAFan::handleStateCommand::length"],[10,3,1,"_CPPv4N5HAFan15onMqttConnectedEv","HAFan::onMqttConnected"],[10,3,1,"_CPPv4N5HAFan13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAFan::onMqttMessage"],[10,4,1,"_CPPv4N5HAFan13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAFan::onMqttMessage::length"],[10,4,1,"_CPPv4N5HAFan13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAFan::onMqttMessage::payload"],[10,4,1,"_CPPv4N5HAFan13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAFan::onMqttMessage::topic"],[10,3,1,"_CPPv4N5HAFan14onSpeedCommandEPFv8uint16_tP5HAFanE","HAFan::onSpeedCommand"],[10,4,1,"_CPPv4N5HAFan14onSpeedCommandEPFv8uint16_tP5HAFanE","HAFan::onSpeedCommand::callback"],[10,3,1,"_CPPv4N5HAFan14onStateCommandEPFvbP5HAFanE","HAFan::onStateCommand"],[10,4,1,"_CPPv4N5HAFan14onStateCommandEPFvbP5HAFanE","HAFan::onStateCommand::callback"],[10,3,1,"_CPPv4N5HAFan12publishSpeedEK8uint16_t","HAFan::publishSpeed"],[10,4,1,"_CPPv4N5HAFan12publishSpeedEK8uint16_t","HAFan::publishSpeed::speed"],[10,3,1,"_CPPv4N5HAFan12publishStateEKb","HAFan::publishState"],[10,4,1,"_CPPv4N5HAFan12publishStateEKb","HAFan::publishState::state"],[10,3,1,"_CPPv4N5HAFan15setCurrentSpeedEK8uint16_t","HAFan::setCurrentSpeed"],[10,4,1,"_CPPv4N5HAFan15setCurrentSpeedEK8uint16_t","HAFan::setCurrentSpeed::speed"],[10,3,1,"_CPPv4N5HAFan15setCurrentStateEKb","HAFan::setCurrentState"],[10,4,1,"_CPPv4N5HAFan15setCurrentStateEKb","HAFan::setCurrentState::state"],[10,3,1,"_CPPv4N5HAFan7setIconEPKc","HAFan::setIcon"],[10,4,1,"_CPPv4N5HAFan7setIconEPKc","HAFan::setIcon::icon"],[10,3,1,"_CPPv4N5HAFan13setOptimisticEKb","HAFan::setOptimistic"],[10,4,1,"_CPPv4N5HAFan13setOptimisticEKb","HAFan::setOptimistic::optimistic"],[10,3,1,"_CPPv4N5HAFan9setRetainEKb","HAFan::setRetain"],[10,4,1,"_CPPv4N5HAFan9setRetainEKb","HAFan::setRetain::retain"],[10,3,1,"_CPPv4N5HAFan8setSpeedEK8uint16_tKb","HAFan::setSpeed"],[10,4,1,"_CPPv4N5HAFan8setSpeedEK8uint16_tKb","HAFan::setSpeed::force"],[10,4,1,"_CPPv4N5HAFan8setSpeedEK8uint16_tKb","HAFan::setSpeed::speed"],[10,3,1,"_CPPv4N5HAFan16setSpeedRangeMaxEK8uint16_t","HAFan::setSpeedRangeMax"],[10,4,1,"_CPPv4N5HAFan16setSpeedRangeMaxEK8uint16_t","HAFan::setSpeedRangeMax::max"],[10,3,1,"_CPPv4N5HAFan16setSpeedRangeMinEK8uint16_t","HAFan::setSpeedRangeMin"],[10,4,1,"_CPPv4N5HAFan16setSpeedRangeMinEK8uint16_t","HAFan::setSpeedRangeMin::min"],[10,3,1,"_CPPv4N5HAFan8setStateEKbKb","HAFan::setState"],[10,4,1,"_CPPv4N5HAFan8setStateEKbKb","HAFan::setState::force"],[10,4,1,"_CPPv4N5HAFan8setStateEKbKb","HAFan::setState::state"],[10,3,1,"_CPPv4N5HAFan7turnOffEv","HAFan::turnOff"],[10,3,1,"_CPPv4N5HAFan6turnOnEv","HAFan::turnOn"],[11,0,1,"_CPPv46HAHVAC","HAHVAC"],[11,1,1,"_CPPv4N6HAHVAC6ActionE","HAHVAC::Action"],[11,2,1,"_CPPv4N6HAHVAC6Action13CoolingActionE","HAHVAC::Action::CoolingAction"],[11,2,1,"_CPPv4N6HAHVAC6Action12DryingActionE","HAHVAC::Action::DryingAction"],[11,2,1,"_CPPv4N6HAHVAC6Action9FanActionE","HAHVAC::Action::FanAction"],[11,2,1,"_CPPv4N6HAHVAC6Action13HeatingActionE","HAHVAC::Action::HeatingAction"],[11,2,1,"_CPPv4N6HAHVAC6Action10IdleActionE","HAHVAC::Action::IdleAction"],[11,2,1,"_CPPv4N6HAHVAC6Action9OffActionE","HAHVAC::Action::OffAction"],[11,2,1,"_CPPv4N6HAHVAC6Action13UnknownActionE","HAHVAC::Action::UnknownAction"],[11,2,1,"_CPPv4N6HAHVAC8Features13ActionFeatureE","HAHVAC::ActionFeature"],[11,2,1,"_CPPv4N6HAHVAC7FanMode11AutoFanModeE","HAHVAC::AutoFanMode"],[11,2,1,"_CPPv4N6HAHVAC4Mode8AutoModeE","HAHVAC::AutoMode"],[11,2,1,"_CPPv4N6HAHVAC8Features17AuxHeatingFeatureE","HAHVAC::AuxHeatingFeature"],[11,2,1,"_CPPv4N6HAHVAC15TemperatureUnit11CelsiusUnitE","HAHVAC::CelsiusUnit"],[11,2,1,"_CPPv4N6HAHVAC4Mode8CoolModeE","HAHVAC::CoolMode"],[11,2,1,"_CPPv4N6HAHVAC6Action13CoolingActionE","HAHVAC::CoolingAction"],[11,5,1,"_CPPv4N6HAHVAC15DefaultFanModesE","HAHVAC::DefaultFanModes"],[11,2,1,"_CPPv4N6HAHVAC8Features15DefaultFeaturesE","HAHVAC::DefaultFeatures"],[11,5,1,"_CPPv4N6HAHVAC12DefaultModesE","HAHVAC::DefaultModes"],[11,5,1,"_CPPv4N6HAHVAC17DefaultSwingModesE","HAHVAC::DefaultSwingModes"],[11,2,1,"_CPPv4N6HAHVAC15TemperatureUnit11DefaultUnitE","HAHVAC::DefaultUnit"],[11,2,1,"_CPPv4N6HAHVAC4Mode7DryModeE","HAHVAC::DryMode"],[11,2,1,"_CPPv4N6HAHVAC6Action12DryingActionE","HAHVAC::DryingAction"],[11,2,1,"_CPPv4N6HAHVAC15TemperatureUnit14FahrenheitUnitE","HAHVAC::FahrenheitUnit"],[11,2,1,"_CPPv4N6HAHVAC6Action9FanActionE","HAHVAC::FanAction"],[11,2,1,"_CPPv4N6HAHVAC8Features10FanFeatureE","HAHVAC::FanFeature"],[11,1,1,"_CPPv4N6HAHVAC7FanModeE","HAHVAC::FanMode"],[11,2,1,"_CPPv4N6HAHVAC7FanMode11AutoFanModeE","HAHVAC::FanMode::AutoFanMode"],[11,2,1,"_CPPv4N6HAHVAC7FanMode11HighFanModeE","HAHVAC::FanMode::HighFanMode"],[11,2,1,"_CPPv4N6HAHVAC7FanMode10LowFanModeE","HAHVAC::FanMode::LowFanMode"],[11,2,1,"_CPPv4N6HAHVAC7FanMode13MediumFanModeE","HAHVAC::FanMode::MediumFanMode"],[11,2,1,"_CPPv4N6HAHVAC7FanMode14UnknownFanModeE","HAHVAC::FanMode::UnknownFanMode"],[11,2,1,"_CPPv4N6HAHVAC4Mode11FanOnlyModeE","HAHVAC::FanOnlyMode"],[11,1,1,"_CPPv4N6HAHVAC8FeaturesE","HAHVAC::Features"],[11,2,1,"_CPPv4N6HAHVAC8Features13ActionFeatureE","HAHVAC::Features::ActionFeature"],[11,2,1,"_CPPv4N6HAHVAC8Features17AuxHeatingFeatureE","HAHVAC::Features::AuxHeatingFeature"],[11,2,1,"_CPPv4N6HAHVAC8Features15DefaultFeaturesE","HAHVAC::Features::DefaultFeatures"],[11,2,1,"_CPPv4N6HAHVAC8Features10FanFeatureE","HAHVAC::Features::FanFeature"],[11,2,1,"_CPPv4N6HAHVAC8Features12ModesFeatureE","HAHVAC::Features::ModesFeature"],[11,2,1,"_CPPv4N6HAHVAC8Features12PowerFeatureE","HAHVAC::Features::PowerFeature"],[11,2,1,"_CPPv4N6HAHVAC8Features12SwingFeatureE","HAHVAC::Features::SwingFeature"],[11,2,1,"_CPPv4N6HAHVAC8Features24TargetTemperatureFeatureE","HAHVAC::Features::TargetTemperatureFeature"],[11,3,1,"_CPPv4N6HAHVAC6HAHVACEPKcK8uint16_tK15NumberPrecision","HAHVAC::HAHVAC"],[11,4,1,"_CPPv4N6HAHVAC6HAHVACEPKcK8uint16_tK15NumberPrecision","HAHVAC::HAHVAC::features"],[11,4,1,"_CPPv4N6HAHVAC6HAHVACEPKcK8uint16_tK15NumberPrecision","HAHVAC::HAHVAC::precision"],[11,4,1,"_CPPv4N6HAHVAC6HAHVACEPKcK8uint16_tK15NumberPrecision","HAHVAC::HAHVAC::uniqueId"],[11,2,1,"_CPPv4N6HAHVAC4Mode8HeatModeE","HAHVAC::HeatMode"],[11,2,1,"_CPPv4N6HAHVAC6Action13HeatingActionE","HAHVAC::HeatingAction"],[11,2,1,"_CPPv4N6HAHVAC7FanMode11HighFanModeE","HAHVAC::HighFanMode"],[11,2,1,"_CPPv4N6HAHVAC6Action10IdleActionE","HAHVAC::IdleAction"],[11,2,1,"_CPPv4N6HAHVAC7FanMode10LowFanModeE","HAHVAC::LowFanMode"],[11,2,1,"_CPPv4N6HAHVAC7FanMode13MediumFanModeE","HAHVAC::MediumFanMode"],[11,1,1,"_CPPv4N6HAHVAC4ModeE","HAHVAC::Mode"],[11,2,1,"_CPPv4N6HAHVAC4Mode8AutoModeE","HAHVAC::Mode::AutoMode"],[11,2,1,"_CPPv4N6HAHVAC4Mode8CoolModeE","HAHVAC::Mode::CoolMode"],[11,2,1,"_CPPv4N6HAHVAC4Mode7DryModeE","HAHVAC::Mode::DryMode"],[11,2,1,"_CPPv4N6HAHVAC4Mode11FanOnlyModeE","HAHVAC::Mode::FanOnlyMode"],[11,2,1,"_CPPv4N6HAHVAC4Mode8HeatModeE","HAHVAC::Mode::HeatMode"],[11,2,1,"_CPPv4N6HAHVAC4Mode7OffModeE","HAHVAC::Mode::OffMode"],[11,2,1,"_CPPv4N6HAHVAC4Mode11UnknownModeE","HAHVAC::Mode::UnknownMode"],[11,2,1,"_CPPv4N6HAHVAC8Features12ModesFeatureE","HAHVAC::ModesFeature"],[11,2,1,"_CPPv4N6HAHVAC6Action9OffActionE","HAHVAC::OffAction"],[11,2,1,"_CPPv4N6HAHVAC4Mode7OffModeE","HAHVAC::OffMode"],[11,2,1,"_CPPv4N6HAHVAC9SwingMode12OffSwingModeE","HAHVAC::OffSwingMode"],[11,2,1,"_CPPv4N6HAHVAC9SwingMode11OnSwingModeE","HAHVAC::OnSwingMode"],[11,2,1,"_CPPv4N6HAHVAC8Features12PowerFeatureE","HAHVAC::PowerFeature"],[11,2,1,"_CPPv4N6HAHVAC8Features12SwingFeatureE","HAHVAC::SwingFeature"],[11,1,1,"_CPPv4N6HAHVAC9SwingModeE","HAHVAC::SwingMode"],[11,2,1,"_CPPv4N6HAHVAC9SwingMode12OffSwingModeE","HAHVAC::SwingMode::OffSwingMode"],[11,2,1,"_CPPv4N6HAHVAC9SwingMode11OnSwingModeE","HAHVAC::SwingMode::OnSwingMode"],[11,2,1,"_CPPv4N6HAHVAC9SwingMode16UnknownSwingModeE","HAHVAC::SwingMode::UnknownSwingMode"],[11,2,1,"_CPPv4N6HAHVAC8Features24TargetTemperatureFeatureE","HAHVAC::TargetTemperatureFeature"],[11,1,1,"_CPPv4N6HAHVAC15TemperatureUnitE","HAHVAC::TemperatureUnit"],[11,2,1,"_CPPv4N6HAHVAC15TemperatureUnit11CelsiusUnitE","HAHVAC::TemperatureUnit::CelsiusUnit"],[11,2,1,"_CPPv4N6HAHVAC15TemperatureUnit11DefaultUnitE","HAHVAC::TemperatureUnit::DefaultUnit"],[11,2,1,"_CPPv4N6HAHVAC15TemperatureUnit14FahrenheitUnitE","HAHVAC::TemperatureUnit::FahrenheitUnit"],[11,2,1,"_CPPv4N6HAHVAC6Action13UnknownActionE","HAHVAC::UnknownAction"],[11,2,1,"_CPPv4N6HAHVAC7FanMode14UnknownFanModeE","HAHVAC::UnknownFanMode"],[11,2,1,"_CPPv4N6HAHVAC4Mode11UnknownModeE","HAHVAC::UnknownMode"],[11,2,1,"_CPPv4N6HAHVAC9SwingMode16UnknownSwingModeE","HAHVAC::UnknownSwingMode"],[11,5,1,"_CPPv4N6HAHVAC7_actionE","HAHVAC::_action"],[11,5,1,"_CPPv4N6HAHVAC12_auxCallbackE","HAHVAC::_auxCallback"],[11,5,1,"_CPPv4N6HAHVAC9_auxStateE","HAHVAC::_auxState"],[11,5,1,"_CPPv4N6HAHVAC19_currentTemperatureE","HAHVAC::_currentTemperature"],[11,5,1,"_CPPv4N6HAHVAC8_fanModeE","HAHVAC::_fanMode"],[11,5,1,"_CPPv4N6HAHVAC16_fanModeCallbackE","HAHVAC::_fanModeCallback"],[11,5,1,"_CPPv4N6HAHVAC9_fanModesE","HAHVAC::_fanModes"],[11,5,1,"_CPPv4N6HAHVAC19_fanModesSerializerE","HAHVAC::_fanModesSerializer"],[11,5,1,"_CPPv4N6HAHVAC9_featuresE","HAHVAC::_features"],[11,5,1,"_CPPv4N6HAHVAC5_iconE","HAHVAC::_icon"],[11,5,1,"_CPPv4N6HAHVAC8_maxTempE","HAHVAC::_maxTemp"],[11,5,1,"_CPPv4N6HAHVAC8_minTempE","HAHVAC::_minTemp"],[11,5,1,"_CPPv4N6HAHVAC5_modeE","HAHVAC::_mode"],[11,5,1,"_CPPv4N6HAHVAC13_modeCallbackE","HAHVAC::_modeCallback"],[11,5,1,"_CPPv4N6HAHVAC6_modesE","HAHVAC::_modes"],[11,5,1,"_CPPv4N6HAHVAC16_modesSerializerE","HAHVAC::_modesSerializer"],[11,5,1,"_CPPv4N6HAHVAC14_powerCallbackE","HAHVAC::_powerCallback"],[11,5,1,"_CPPv4N6HAHVAC10_precisionE","HAHVAC::_precision"],[11,5,1,"_CPPv4N6HAHVAC7_retainE","HAHVAC::_retain"],[11,5,1,"_CPPv4N6HAHVAC10_swingModeE","HAHVAC::_swingMode"],[11,5,1,"_CPPv4N6HAHVAC18_swingModeCallbackE","HAHVAC::_swingModeCallback"],[11,5,1,"_CPPv4N6HAHVAC11_swingModesE","HAHVAC::_swingModes"],[11,5,1,"_CPPv4N6HAHVAC21_swingModesSerializerE","HAHVAC::_swingModesSerializer"],[11,5,1,"_CPPv4N6HAHVAC18_targetTemperatureE","HAHVAC::_targetTemperature"],[11,5,1,"_CPPv4N6HAHVAC26_targetTemperatureCallbackE","HAHVAC::_targetTemperatureCallback"],[11,5,1,"_CPPv4N6HAHVAC9_tempStepE","HAHVAC::_tempStep"],[11,5,1,"_CPPv4N6HAHVAC16_temperatureUnitE","HAHVAC::_temperatureUnit"],[11,3,1,"_CPPv4N6HAHVAC15buildSerializerEv","HAHVAC::buildSerializer"],[11,3,1,"_CPPv4N6HAHVAC27getCommandWithFloatTemplateEv","HAHVAC::getCommandWithFloatTemplate"],[11,3,1,"_CPPv4NK6HAHVAC16getCurrentActionEv","HAHVAC::getCurrentAction"],[11,3,1,"_CPPv4NK6HAHVAC18getCurrentAuxStateEv","HAHVAC::getCurrentAuxState"],[11,3,1,"_CPPv4NK6HAHVAC17getCurrentFanModeEv","HAHVAC::getCurrentFanMode"],[11,3,1,"_CPPv4NK6HAHVAC14getCurrentModeEv","HAHVAC::getCurrentMode"],[11,3,1,"_CPPv4NK6HAHVAC19getCurrentSwingModeEv","HAHVAC::getCurrentSwingMode"],[11,3,1,"_CPPv4NK6HAHVAC27getCurrentTargetTemperatureEv","HAHVAC::getCurrentTargetTemperature"],[11,3,1,"_CPPv4NK6HAHVAC21getCurrentTemperatureEv","HAHVAC::getCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC21handleAuxStateCommandEPK7uint8_tK8uint16_t","HAHVAC::handleAuxStateCommand"],[11,4,1,"_CPPv4N6HAHVAC21handleAuxStateCommandEPK7uint8_tK8uint16_t","HAHVAC::handleAuxStateCommand::cmd"],[11,4,1,"_CPPv4N6HAHVAC21handleAuxStateCommandEPK7uint8_tK8uint16_t","HAHVAC::handleAuxStateCommand::length"],[11,3,1,"_CPPv4N6HAHVAC20handleFanModeCommandEPK7uint8_tK8uint16_t","HAHVAC::handleFanModeCommand"],[11,4,1,"_CPPv4N6HAHVAC20handleFanModeCommandEPK7uint8_tK8uint16_t","HAHVAC::handleFanModeCommand::cmd"],[11,4,1,"_CPPv4N6HAHVAC20handleFanModeCommandEPK7uint8_tK8uint16_t","HAHVAC::handleFanModeCommand::length"],[11,3,1,"_CPPv4N6HAHVAC17handleModeCommandEPK7uint8_tK8uint16_t","HAHVAC::handleModeCommand"],[11,4,1,"_CPPv4N6HAHVAC17handleModeCommandEPK7uint8_tK8uint16_t","HAHVAC::handleModeCommand::cmd"],[11,4,1,"_CPPv4N6HAHVAC17handleModeCommandEPK7uint8_tK8uint16_t","HAHVAC::handleModeCommand::length"],[11,3,1,"_CPPv4N6HAHVAC18handlePowerCommandEPK7uint8_tK8uint16_t","HAHVAC::handlePowerCommand"],[11,4,1,"_CPPv4N6HAHVAC18handlePowerCommandEPK7uint8_tK8uint16_t","HAHVAC::handlePowerCommand::cmd"],[11,4,1,"_CPPv4N6HAHVAC18handlePowerCommandEPK7uint8_tK8uint16_t","HAHVAC::handlePowerCommand::length"],[11,3,1,"_CPPv4N6HAHVAC22handleSwingModeCommandEPK7uint8_tK8uint16_t","HAHVAC::handleSwingModeCommand"],[11,4,1,"_CPPv4N6HAHVAC22handleSwingModeCommandEPK7uint8_tK8uint16_t","HAHVAC::handleSwingModeCommand::cmd"],[11,4,1,"_CPPv4N6HAHVAC22handleSwingModeCommandEPK7uint8_tK8uint16_t","HAHVAC::handleSwingModeCommand::length"],[11,3,1,"_CPPv4N6HAHVAC30handleTargetTemperatureCommandEPK7uint8_tK8uint16_t","HAHVAC::handleTargetTemperatureCommand"],[11,4,1,"_CPPv4N6HAHVAC30handleTargetTemperatureCommandEPK7uint8_tK8uint16_t","HAHVAC::handleTargetTemperatureCommand::cmd"],[11,4,1,"_CPPv4N6HAHVAC30handleTargetTemperatureCommandEPK7uint8_tK8uint16_t","HAHVAC::handleTargetTemperatureCommand::length"],[11,3,1,"_CPPv4N6HAHVAC17onAuxStateCommandEPFvbP6HAHVACE","HAHVAC::onAuxStateCommand"],[11,4,1,"_CPPv4N6HAHVAC17onAuxStateCommandEPFvbP6HAHVACE","HAHVAC::onAuxStateCommand::callback"],[11,3,1,"_CPPv4N6HAHVAC16onFanModeCommandEPFv7FanModeP6HAHVACE","HAHVAC::onFanModeCommand"],[11,4,1,"_CPPv4N6HAHVAC16onFanModeCommandEPFv7FanModeP6HAHVACE","HAHVAC::onFanModeCommand::callback"],[11,3,1,"_CPPv4N6HAHVAC13onModeCommandEPFv4ModeP6HAHVACE","HAHVAC::onModeCommand"],[11,4,1,"_CPPv4N6HAHVAC13onModeCommandEPFv4ModeP6HAHVACE","HAHVAC::onModeCommand::callback"],[11,3,1,"_CPPv4N6HAHVAC15onMqttConnectedEv","HAHVAC::onMqttConnected"],[11,3,1,"_CPPv4N6HAHVAC13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAHVAC::onMqttMessage"],[11,4,1,"_CPPv4N6HAHVAC13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAHVAC::onMqttMessage::length"],[11,4,1,"_CPPv4N6HAHVAC13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAHVAC::onMqttMessage::payload"],[11,4,1,"_CPPv4N6HAHVAC13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAHVAC::onMqttMessage::topic"],[11,3,1,"_CPPv4N6HAHVAC14onPowerCommandEPFvbP6HAHVACE","HAHVAC::onPowerCommand"],[11,4,1,"_CPPv4N6HAHVAC14onPowerCommandEPFvbP6HAHVACE","HAHVAC::onPowerCommand::callback"],[11,3,1,"_CPPv4N6HAHVAC18onSwingModeCommandEPFv9SwingModeP6HAHVACE","HAHVAC::onSwingModeCommand"],[11,4,1,"_CPPv4N6HAHVAC18onSwingModeCommandEPFv9SwingModeP6HAHVACE","HAHVAC::onSwingModeCommand::callback"],[11,3,1,"_CPPv4N6HAHVAC26onTargetTemperatureCommandEPFv9HANumericP6HAHVACE","HAHVAC::onTargetTemperatureCommand"],[11,4,1,"_CPPv4N6HAHVAC26onTargetTemperatureCommandEPFv9HANumericP6HAHVACE","HAHVAC::onTargetTemperatureCommand::callback"],[11,3,1,"_CPPv4N6HAHVAC13publishActionEK6Action","HAHVAC::publishAction"],[11,4,1,"_CPPv4N6HAHVAC13publishActionEK6Action","HAHVAC::publishAction::action"],[11,3,1,"_CPPv4N6HAHVAC15publishAuxStateEKb","HAHVAC::publishAuxState"],[11,4,1,"_CPPv4N6HAHVAC15publishAuxStateEKb","HAHVAC::publishAuxState::state"],[11,3,1,"_CPPv4N6HAHVAC25publishCurrentTemperatureERK9HANumeric","HAHVAC::publishCurrentTemperature"],[11,4,1,"_CPPv4N6HAHVAC25publishCurrentTemperatureERK9HANumeric","HAHVAC::publishCurrentTemperature::temperature"],[11,3,1,"_CPPv4N6HAHVAC14publishFanModeEK7FanMode","HAHVAC::publishFanMode"],[11,4,1,"_CPPv4N6HAHVAC14publishFanModeEK7FanMode","HAHVAC::publishFanMode::mode"],[11,3,1,"_CPPv4N6HAHVAC11publishModeEK4Mode","HAHVAC::publishMode"],[11,4,1,"_CPPv4N6HAHVAC11publishModeEK4Mode","HAHVAC::publishMode::mode"],[11,3,1,"_CPPv4N6HAHVAC16publishSwingModeEK9SwingMode","HAHVAC::publishSwingMode"],[11,4,1,"_CPPv4N6HAHVAC16publishSwingModeEK9SwingMode","HAHVAC::publishSwingMode::mode"],[11,3,1,"_CPPv4N6HAHVAC24publishTargetTemperatureERK9HANumeric","HAHVAC::publishTargetTemperature"],[11,4,1,"_CPPv4N6HAHVAC24publishTargetTemperatureERK9HANumeric","HAHVAC::publishTargetTemperature::temperature"],[11,3,1,"_CPPv4N6HAHVAC9setActionEK6ActionKb","HAHVAC::setAction"],[11,4,1,"_CPPv4N6HAHVAC9setActionEK6ActionKb","HAHVAC::setAction::action"],[11,4,1,"_CPPv4N6HAHVAC9setActionEK6ActionKb","HAHVAC::setAction::force"],[11,3,1,"_CPPv4N6HAHVAC11setAuxStateEKbKb","HAHVAC::setAuxState"],[11,4,1,"_CPPv4N6HAHVAC11setAuxStateEKbKb","HAHVAC::setAuxState::force"],[11,4,1,"_CPPv4N6HAHVAC11setAuxStateEKbKb","HAHVAC::setAuxState::state"],[11,3,1,"_CPPv4N6HAHVAC16setCurrentActionEK6Action","HAHVAC::setCurrentAction"],[11,4,1,"_CPPv4N6HAHVAC16setCurrentActionEK6Action","HAHVAC::setCurrentAction::action"],[11,3,1,"_CPPv4N6HAHVAC18setCurrentAuxStateEKb","HAHVAC::setCurrentAuxState"],[11,4,1,"_CPPv4N6HAHVAC18setCurrentAuxStateEKb","HAHVAC::setCurrentAuxState::state"],[11,3,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK6int8_t","HAHVAC::setCurrentCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK7int16_t","HAHVAC::setCurrentCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK7int32_t","HAHVAC::setCurrentCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK7uint8_t","HAHVAC::setCurrentCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK8uint16_t","HAHVAC::setCurrentCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK8uint32_t","HAHVAC::setCurrentCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEKf","HAHVAC::setCurrentCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureERK9HANumeric","HAHVAC::setCurrentCurrentTemperature"],[11,4,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK6int8_t","HAHVAC::setCurrentCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK7int16_t","HAHVAC::setCurrentCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK7int32_t","HAHVAC::setCurrentCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK7uint8_t","HAHVAC::setCurrentCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK8uint16_t","HAHVAC::setCurrentCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK8uint32_t","HAHVAC::setCurrentCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEKf","HAHVAC::setCurrentCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureERK9HANumeric","HAHVAC::setCurrentCurrentTemperature::temperature"],[11,3,1,"_CPPv4N6HAHVAC17setCurrentFanModeEK7FanMode","HAHVAC::setCurrentFanMode"],[11,4,1,"_CPPv4N6HAHVAC17setCurrentFanModeEK7FanMode","HAHVAC::setCurrentFanMode::mode"],[11,3,1,"_CPPv4N6HAHVAC14setCurrentModeEK4Mode","HAHVAC::setCurrentMode"],[11,4,1,"_CPPv4N6HAHVAC14setCurrentModeEK4Mode","HAHVAC::setCurrentMode::mode"],[11,3,1,"_CPPv4N6HAHVAC19setCurrentSwingModeEK9SwingMode","HAHVAC::setCurrentSwingMode"],[11,4,1,"_CPPv4N6HAHVAC19setCurrentSwingModeEK9SwingMode","HAHVAC::setCurrentSwingMode::mode"],[11,3,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK6int8_t","HAHVAC::setCurrentTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK7int16_t","HAHVAC::setCurrentTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK7int32_t","HAHVAC::setCurrentTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK7uint8_t","HAHVAC::setCurrentTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK8uint16_t","HAHVAC::setCurrentTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK8uint32_t","HAHVAC::setCurrentTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEKf","HAHVAC::setCurrentTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureERK9HANumeric","HAHVAC::setCurrentTargetTemperature"],[11,4,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK6int8_t","HAHVAC::setCurrentTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK7int16_t","HAHVAC::setCurrentTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK7int32_t","HAHVAC::setCurrentTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK7uint8_t","HAHVAC::setCurrentTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK8uint16_t","HAHVAC::setCurrentTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK8uint32_t","HAHVAC::setCurrentTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEKf","HAHVAC::setCurrentTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureERK9HANumeric","HAHVAC::setCurrentTargetTemperature::temperature"],[11,3,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK6int8_tKb","HAHVAC::setCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK7int16_tKb","HAHVAC::setCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK7int32_tKb","HAHVAC::setCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK7uint8_tKb","HAHVAC::setCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK8uint16_tKb","HAHVAC::setCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK8uint32_tKb","HAHVAC::setCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEKfKb","HAHVAC::setCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC21setCurrentTemperatureERK9HANumericKb","HAHVAC::setCurrentTemperature"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK6int8_tKb","HAHVAC::setCurrentTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK7int16_tKb","HAHVAC::setCurrentTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK7int32_tKb","HAHVAC::setCurrentTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK7uint8_tKb","HAHVAC::setCurrentTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK8uint16_tKb","HAHVAC::setCurrentTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK8uint32_tKb","HAHVAC::setCurrentTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEKfKb","HAHVAC::setCurrentTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureERK9HANumericKb","HAHVAC::setCurrentTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK6int8_tKb","HAHVAC::setCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK7int16_tKb","HAHVAC::setCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK7int32_tKb","HAHVAC::setCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK7uint8_tKb","HAHVAC::setCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK8uint16_tKb","HAHVAC::setCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK8uint32_tKb","HAHVAC::setCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEKfKb","HAHVAC::setCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureERK9HANumericKb","HAHVAC::setCurrentTemperature::temperature"],[11,3,1,"_CPPv4N6HAHVAC10setFanModeEK7FanModeKb","HAHVAC::setFanMode"],[11,4,1,"_CPPv4N6HAHVAC10setFanModeEK7FanModeKb","HAHVAC::setFanMode::force"],[11,4,1,"_CPPv4N6HAHVAC10setFanModeEK7FanModeKb","HAHVAC::setFanMode::mode"],[11,3,1,"_CPPv4N6HAHVAC11setFanModesEK7uint8_t","HAHVAC::setFanModes"],[11,4,1,"_CPPv4N6HAHVAC11setFanModesEK7uint8_t","HAHVAC::setFanModes::modes"],[11,3,1,"_CPPv4N6HAHVAC7setIconEPKc","HAHVAC::setIcon"],[11,4,1,"_CPPv4N6HAHVAC7setIconEPKc","HAHVAC::setIcon::icon"],[11,3,1,"_CPPv4N6HAHVAC10setMaxTempEKf","HAHVAC::setMaxTemp"],[11,4,1,"_CPPv4N6HAHVAC10setMaxTempEKf","HAHVAC::setMaxTemp::max"],[11,3,1,"_CPPv4N6HAHVAC10setMinTempEKf","HAHVAC::setMinTemp"],[11,4,1,"_CPPv4N6HAHVAC10setMinTempEKf","HAHVAC::setMinTemp::min"],[11,3,1,"_CPPv4N6HAHVAC7setModeEK4ModeKb","HAHVAC::setMode"],[11,4,1,"_CPPv4N6HAHVAC7setModeEK4ModeKb","HAHVAC::setMode::force"],[11,4,1,"_CPPv4N6HAHVAC7setModeEK4ModeKb","HAHVAC::setMode::mode"],[11,3,1,"_CPPv4N6HAHVAC8setModesEK7uint8_t","HAHVAC::setModes"],[11,4,1,"_CPPv4N6HAHVAC8setModesEK7uint8_t","HAHVAC::setModes::modes"],[11,3,1,"_CPPv4N6HAHVAC9setRetainEKb","HAHVAC::setRetain"],[11,4,1,"_CPPv4N6HAHVAC9setRetainEKb","HAHVAC::setRetain::retain"],[11,3,1,"_CPPv4N6HAHVAC12setSwingModeEK9SwingModeKb","HAHVAC::setSwingMode"],[11,4,1,"_CPPv4N6HAHVAC12setSwingModeEK9SwingModeKb","HAHVAC::setSwingMode::force"],[11,4,1,"_CPPv4N6HAHVAC12setSwingModeEK9SwingModeKb","HAHVAC::setSwingMode::mode"],[11,3,1,"_CPPv4N6HAHVAC13setSwingModesEK7uint8_t","HAHVAC::setSwingModes"],[11,4,1,"_CPPv4N6HAHVAC13setSwingModesEK7uint8_t","HAHVAC::setSwingModes::modes"],[11,3,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK6int8_tKb","HAHVAC::setTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK7int16_tKb","HAHVAC::setTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK7int32_tKb","HAHVAC::setTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK7uint8_tKb","HAHVAC::setTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK8uint16_tKb","HAHVAC::setTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK8uint32_tKb","HAHVAC::setTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC20setTargetTemperatureEKfKb","HAHVAC::setTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC20setTargetTemperatureERK9HANumericKb","HAHVAC::setTargetTemperature"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK6int8_tKb","HAHVAC::setTargetTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK7int16_tKb","HAHVAC::setTargetTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK7int32_tKb","HAHVAC::setTargetTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK7uint8_tKb","HAHVAC::setTargetTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK8uint16_tKb","HAHVAC::setTargetTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK8uint32_tKb","HAHVAC::setTargetTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEKfKb","HAHVAC::setTargetTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureERK9HANumericKb","HAHVAC::setTargetTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK6int8_tKb","HAHVAC::setTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK7int16_tKb","HAHVAC::setTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK7int32_tKb","HAHVAC::setTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK7uint8_tKb","HAHVAC::setTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK8uint16_tKb","HAHVAC::setTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK8uint32_tKb","HAHVAC::setTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEKfKb","HAHVAC::setTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureERK9HANumericKb","HAHVAC::setTargetTemperature::temperature"],[11,3,1,"_CPPv4N6HAHVAC11setTempStepEKf","HAHVAC::setTempStep"],[11,4,1,"_CPPv4N6HAHVAC11setTempStepEKf","HAHVAC::setTempStep::step"],[11,3,1,"_CPPv4N6HAHVAC18setTemperatureUnitE15TemperatureUnit","HAHVAC::setTemperatureUnit"],[11,4,1,"_CPPv4N6HAHVAC18setTemperatureUnitE15TemperatureUnit","HAHVAC::setTemperatureUnit::unit"],[11,3,1,"_CPPv4N6HAHVACD0Ev","HAHVAC::~HAHVAC"],[12,0,1,"_CPPv47HALight","HALight"],[12,2,1,"_CPPv4N7HALight8Features17BrightnessFeatureE","HALight::BrightnessFeature"],[12,2,1,"_CPPv4N7HALight8Features23ColorTemperatureFeatureE","HALight::ColorTemperatureFeature"],[12,2,1,"_CPPv4N7HALight8Features15DefaultFeaturesE","HALight::DefaultFeatures"],[12,1,1,"_CPPv4N7HALight8FeaturesE","HALight::Features"],[12,2,1,"_CPPv4N7HALight8Features17BrightnessFeatureE","HALight::Features::BrightnessFeature"],[12,2,1,"_CPPv4N7HALight8Features23ColorTemperatureFeatureE","HALight::Features::ColorTemperatureFeature"],[12,2,1,"_CPPv4N7HALight8Features15DefaultFeaturesE","HALight::Features::DefaultFeatures"],[12,2,1,"_CPPv4N7HALight8Features10RGBFeatureE","HALight::Features::RGBFeature"],[12,3,1,"_CPPv4N7HALight7HALightEPKcK7uint8_t","HALight::HALight"],[12,4,1,"_CPPv4N7HALight7HALightEPKcK7uint8_t","HALight::HALight::features"],[12,4,1,"_CPPv4N7HALight7HALightEPKcK7uint8_t","HALight::HALight::uniqueId"],[12,0,1,"_CPPv4N7HALight8RGBColorE","HALight::RGBColor"],[12,3,1,"_CPPv4N7HALight8RGBColor8RGBColorE7uint8_t7uint8_t7uint8_t","HALight::RGBColor::RGBColor"],[12,3,1,"_CPPv4N7HALight8RGBColor8RGBColorEv","HALight::RGBColor::RGBColor"],[12,4,1,"_CPPv4N7HALight8RGBColor8RGBColorE7uint8_t7uint8_t7uint8_t","HALight::RGBColor::RGBColor::b"],[12,4,1,"_CPPv4N7HALight8RGBColor8RGBColorE7uint8_t7uint8_t7uint8_t","HALight::RGBColor::RGBColor::g"],[12,4,1,"_CPPv4N7HALight8RGBColor8RGBColorE7uint8_t7uint8_t7uint8_t","HALight::RGBColor::RGBColor::r"],[12,5,1,"_CPPv4N7HALight8RGBColor4blueE","HALight::RGBColor::blue"],[12,3,1,"_CPPv4N7HALight8RGBColor10fromBufferEPK7uint8_tK8uint16_t","HALight::RGBColor::fromBuffer"],[12,4,1,"_CPPv4N7HALight8RGBColor10fromBufferEPK7uint8_tK8uint16_t","HALight::RGBColor::fromBuffer::data"],[12,4,1,"_CPPv4N7HALight8RGBColor10fromBufferEPK7uint8_tK8uint16_t","HALight::RGBColor::fromBuffer::length"],[12,5,1,"_CPPv4N7HALight8RGBColor5greenE","HALight::RGBColor::green"],[12,5,1,"_CPPv4N7HALight8RGBColor5isSetE","HALight::RGBColor::isSet"],[12,3,1,"_CPPv4NK7HALight8RGBColorneERK8RGBColor","HALight::RGBColor::operator!="],[12,4,1,"_CPPv4NK7HALight8RGBColorneERK8RGBColor","HALight::RGBColor::operator!=::a"],[12,3,1,"_CPPv4N7HALight8RGBColoraSERK8RGBColor","HALight::RGBColor::operator="],[12,4,1,"_CPPv4N7HALight8RGBColoraSERK8RGBColor","HALight::RGBColor::operator=::a"],[12,3,1,"_CPPv4NK7HALight8RGBColoreqERK8RGBColor","HALight::RGBColor::operator=="],[12,4,1,"_CPPv4NK7HALight8RGBColoreqERK8RGBColor","HALight::RGBColor::operator==::a"],[12,5,1,"_CPPv4N7HALight8RGBColor3redE","HALight::RGBColor::red"],[12,2,1,"_CPPv4N7HALight8Features10RGBFeatureE","HALight::RGBFeature"],[12,5,1,"_CPPv4N7HALight18RGBStringMaxLengthE","HALight::RGBStringMaxLength"],[12,5,1,"_CPPv4N7HALight19_brightnessCallbackE","HALight::_brightnessCallback"],[12,5,1,"_CPPv4N7HALight16_brightnessScaleE","HALight::_brightnessScale"],[12,5,1,"_CPPv4N7HALight25_colorTemperatureCallbackE","HALight::_colorTemperatureCallback"],[12,5,1,"_CPPv4N7HALight18_currentBrightnessE","HALight::_currentBrightness"],[12,5,1,"_CPPv4N7HALight24_currentColorTemperatureE","HALight::_currentColorTemperature"],[12,5,1,"_CPPv4N7HALight16_currentRGBColorE","HALight::_currentRGBColor"],[12,5,1,"_CPPv4N7HALight13_currentStateE","HALight::_currentState"],[12,5,1,"_CPPv4N7HALight9_featuresE","HALight::_features"],[12,5,1,"_CPPv4N7HALight5_iconE","HALight::_icon"],[12,5,1,"_CPPv4N7HALight10_maxMiredsE","HALight::_maxMireds"],[12,5,1,"_CPPv4N7HALight10_minMiredsE","HALight::_minMireds"],[12,5,1,"_CPPv4N7HALight11_optimisticE","HALight::_optimistic"],[12,5,1,"_CPPv4N7HALight7_retainE","HALight::_retain"],[12,5,1,"_CPPv4N7HALight17_rgbColorCallbackE","HALight::_rgbColorCallback"],[12,5,1,"_CPPv4N7HALight14_stateCallbackE","HALight::_stateCallback"],[12,3,1,"_CPPv4N7HALight15buildSerializerEv","HALight::buildSerializer"],[12,3,1,"_CPPv4NK7HALight20getCurrentBrightnessEv","HALight::getCurrentBrightness"],[12,3,1,"_CPPv4NK7HALight26getCurrentColorTemperatureEv","HALight::getCurrentColorTemperature"],[12,3,1,"_CPPv4NK7HALight18getCurrentRGBColorEv","HALight::getCurrentRGBColor"],[12,3,1,"_CPPv4NK7HALight15getCurrentStateEv","HALight::getCurrentState"],[12,3,1,"_CPPv4N7HALight23handleBrightnessCommandEPK7uint8_tK8uint16_t","HALight::handleBrightnessCommand"],[12,4,1,"_CPPv4N7HALight23handleBrightnessCommandEPK7uint8_tK8uint16_t","HALight::handleBrightnessCommand::cmd"],[12,4,1,"_CPPv4N7HALight23handleBrightnessCommandEPK7uint8_tK8uint16_t","HALight::handleBrightnessCommand::length"],[12,3,1,"_CPPv4N7HALight29handleColorTemperatureCommandEPK7uint8_tK8uint16_t","HALight::handleColorTemperatureCommand"],[12,4,1,"_CPPv4N7HALight29handleColorTemperatureCommandEPK7uint8_tK8uint16_t","HALight::handleColorTemperatureCommand::cmd"],[12,4,1,"_CPPv4N7HALight29handleColorTemperatureCommandEPK7uint8_tK8uint16_t","HALight::handleColorTemperatureCommand::length"],[12,3,1,"_CPPv4N7HALight16handleRGBCommandEPK7uint8_tK8uint16_t","HALight::handleRGBCommand"],[12,4,1,"_CPPv4N7HALight16handleRGBCommandEPK7uint8_tK8uint16_t","HALight::handleRGBCommand::cmd"],[12,4,1,"_CPPv4N7HALight16handleRGBCommandEPK7uint8_tK8uint16_t","HALight::handleRGBCommand::length"],[12,3,1,"_CPPv4N7HALight18handleStateCommandEPK7uint8_tK8uint16_t","HALight::handleStateCommand"],[12,4,1,"_CPPv4N7HALight18handleStateCommandEPK7uint8_tK8uint16_t","HALight::handleStateCommand::cmd"],[12,4,1,"_CPPv4N7HALight18handleStateCommandEPK7uint8_tK8uint16_t","HALight::handleStateCommand::length"],[12,3,1,"_CPPv4N7HALight19onBrightnessCommandEPFv7uint8_tP7HALightE","HALight::onBrightnessCommand"],[12,4,1,"_CPPv4N7HALight19onBrightnessCommandEPFv7uint8_tP7HALightE","HALight::onBrightnessCommand::callback"],[12,3,1,"_CPPv4N7HALight25onColorTemperatureCommandEPFv8uint16_tP7HALightE","HALight::onColorTemperatureCommand"],[12,4,1,"_CPPv4N7HALight25onColorTemperatureCommandEPFv8uint16_tP7HALightE","HALight::onColorTemperatureCommand::callback"],[12,3,1,"_CPPv4N7HALight15onMqttConnectedEv","HALight::onMqttConnected"],[12,3,1,"_CPPv4N7HALight13onMqttMessageEPKcPK7uint8_tK8uint16_t","HALight::onMqttMessage"],[12,4,1,"_CPPv4N7HALight13onMqttMessageEPKcPK7uint8_tK8uint16_t","HALight::onMqttMessage::length"],[12,4,1,"_CPPv4N7HALight13onMqttMessageEPKcPK7uint8_tK8uint16_t","HALight::onMqttMessage::payload"],[12,4,1,"_CPPv4N7HALight13onMqttMessageEPKcPK7uint8_tK8uint16_t","HALight::onMqttMessage::topic"],[12,3,1,"_CPPv4N7HALight17onRGBColorCommandEPFvN7HALight8RGBColorEP7HALightE","HALight::onRGBColorCommand"],[12,4,1,"_CPPv4N7HALight17onRGBColorCommandEPFvN7HALight8RGBColorEP7HALightE","HALight::onRGBColorCommand::callback"],[12,3,1,"_CPPv4N7HALight14onStateCommandEPFvbP7HALightE","HALight::onStateCommand"],[12,4,1,"_CPPv4N7HALight14onStateCommandEPFvbP7HALightE","HALight::onStateCommand::callback"],[12,3,1,"_CPPv4N7HALight17publishBrightnessEK7uint8_t","HALight::publishBrightness"],[12,4,1,"_CPPv4N7HALight17publishBrightnessEK7uint8_t","HALight::publishBrightness::brightness"],[12,3,1,"_CPPv4N7HALight23publishColorTemperatureEK8uint16_t","HALight::publishColorTemperature"],[12,4,1,"_CPPv4N7HALight23publishColorTemperatureEK8uint16_t","HALight::publishColorTemperature::temperature"],[12,3,1,"_CPPv4N7HALight15publishRGBColorERK8RGBColor","HALight::publishRGBColor"],[12,4,1,"_CPPv4N7HALight15publishRGBColorERK8RGBColor","HALight::publishRGBColor::color"],[12,3,1,"_CPPv4N7HALight12publishStateEKb","HALight::publishState"],[12,4,1,"_CPPv4N7HALight12publishStateEKb","HALight::publishState::state"],[12,3,1,"_CPPv4N7HALight13setBrightnessEK7uint8_tKb","HALight::setBrightness"],[12,4,1,"_CPPv4N7HALight13setBrightnessEK7uint8_tKb","HALight::setBrightness::brightness"],[12,4,1,"_CPPv4N7HALight13setBrightnessEK7uint8_tKb","HALight::setBrightness::force"],[12,3,1,"_CPPv4N7HALight18setBrightnessScaleEK7uint8_t","HALight::setBrightnessScale"],[12,4,1,"_CPPv4N7HALight18setBrightnessScaleEK7uint8_t","HALight::setBrightnessScale::scale"],[12,3,1,"_CPPv4N7HALight19setColorTemperatureEK8uint16_tKb","HALight::setColorTemperature"],[12,4,1,"_CPPv4N7HALight19setColorTemperatureEK8uint16_tKb","HALight::setColorTemperature::force"],[12,4,1,"_CPPv4N7HALight19setColorTemperatureEK8uint16_tKb","HALight::setColorTemperature::temperature"],[12,3,1,"_CPPv4N7HALight20setCurrentBrightnessEK7uint8_t","HALight::setCurrentBrightness"],[12,4,1,"_CPPv4N7HALight20setCurrentBrightnessEK7uint8_t","HALight::setCurrentBrightness::brightness"],[12,3,1,"_CPPv4N7HALight26setCurrentColorTemperatureEK8uint16_t","HALight::setCurrentColorTemperature"],[12,4,1,"_CPPv4N7HALight26setCurrentColorTemperatureEK8uint16_t","HALight::setCurrentColorTemperature::temperature"],[12,3,1,"_CPPv4N7HALight18setCurrentRGBColorERK8RGBColor","HALight::setCurrentRGBColor"],[12,4,1,"_CPPv4N7HALight18setCurrentRGBColorERK8RGBColor","HALight::setCurrentRGBColor::color"],[12,3,1,"_CPPv4N7HALight15setCurrentStateEKb","HALight::setCurrentState"],[12,4,1,"_CPPv4N7HALight15setCurrentStateEKb","HALight::setCurrentState::state"],[12,3,1,"_CPPv4N7HALight7setIconEPKc","HALight::setIcon"],[12,4,1,"_CPPv4N7HALight7setIconEPKc","HALight::setIcon::icon"],[12,3,1,"_CPPv4N7HALight12setMaxMiredsEK8uint16_t","HALight::setMaxMireds"],[12,4,1,"_CPPv4N7HALight12setMaxMiredsEK8uint16_t","HALight::setMaxMireds::mireds"],[12,3,1,"_CPPv4N7HALight12setMinMiredsEK8uint16_t","HALight::setMinMireds"],[12,4,1,"_CPPv4N7HALight12setMinMiredsEK8uint16_t","HALight::setMinMireds::mireds"],[12,3,1,"_CPPv4N7HALight13setOptimisticEKb","HALight::setOptimistic"],[12,4,1,"_CPPv4N7HALight13setOptimisticEKb","HALight::setOptimistic::optimistic"],[12,3,1,"_CPPv4N7HALight11setRGBColorERK8RGBColorKb","HALight::setRGBColor"],[12,4,1,"_CPPv4N7HALight11setRGBColorERK8RGBColorKb","HALight::setRGBColor::color"],[12,4,1,"_CPPv4N7HALight11setRGBColorERK8RGBColorKb","HALight::setRGBColor::force"],[12,3,1,"_CPPv4N7HALight9setRetainEKb","HALight::setRetain"],[12,4,1,"_CPPv4N7HALight9setRetainEKb","HALight::setRetain::retain"],[12,3,1,"_CPPv4N7HALight8setStateEKbKb","HALight::setState"],[12,4,1,"_CPPv4N7HALight8setStateEKbKb","HALight::setState::force"],[12,4,1,"_CPPv4N7HALight8setStateEKbKb","HALight::setState::state"],[12,3,1,"_CPPv4N7HALight7turnOffEv","HALight::turnOff"],[12,3,1,"_CPPv4N7HALight6turnOnEv","HALight::turnOn"],[13,0,1,"_CPPv46HALock","HALock"],[13,2,1,"_CPPv4N6HALock11LockCommand11CommandLockE","HALock::CommandLock"],[13,2,1,"_CPPv4N6HALock11LockCommand11CommandOpenE","HALock::CommandOpen"],[13,2,1,"_CPPv4N6HALock11LockCommand13CommandUnlockE","HALock::CommandUnlock"],[13,3,1,"_CPPv4N6HALock6HALockEPKc","HALock::HALock"],[13,4,1,"_CPPv4N6HALock6HALockEPKc","HALock::HALock::uniqueId"],[13,1,1,"_CPPv4N6HALock11LockCommandE","HALock::LockCommand"],[13,2,1,"_CPPv4N6HALock11LockCommand11CommandLockE","HALock::LockCommand::CommandLock"],[13,2,1,"_CPPv4N6HALock11LockCommand11CommandOpenE","HALock::LockCommand::CommandOpen"],[13,2,1,"_CPPv4N6HALock11LockCommand13CommandUnlockE","HALock::LockCommand::CommandUnlock"],[13,1,1,"_CPPv4N6HALock9LockStateE","HALock::LockState"],[13,2,1,"_CPPv4N6HALock9LockState11StateLockedE","HALock::LockState::StateLocked"],[13,2,1,"_CPPv4N6HALock9LockState12StateUnknownE","HALock::LockState::StateUnknown"],[13,2,1,"_CPPv4N6HALock9LockState13StateUnlockedE","HALock::LockState::StateUnlocked"],[13,2,1,"_CPPv4N6HALock9LockState11StateLockedE","HALock::StateLocked"],[13,2,1,"_CPPv4N6HALock9LockState12StateUnknownE","HALock::StateUnknown"],[13,2,1,"_CPPv4N6HALock9LockState13StateUnlockedE","HALock::StateUnlocked"],[13,5,1,"_CPPv4N6HALock16_commandCallbackE","HALock::_commandCallback"],[13,5,1,"_CPPv4N6HALock13_currentStateE","HALock::_currentState"],[13,5,1,"_CPPv4N6HALock5_iconE","HALock::_icon"],[13,5,1,"_CPPv4N6HALock11_optimisticE","HALock::_optimistic"],[13,5,1,"_CPPv4N6HALock7_retainE","HALock::_retain"],[13,3,1,"_CPPv4N6HALock15buildSerializerEv","HALock::buildSerializer"],[13,3,1,"_CPPv4NK6HALock15getCurrentStateEv","HALock::getCurrentState"],[13,3,1,"_CPPv4N6HALock13handleCommandEPK7uint8_tK8uint16_t","HALock::handleCommand"],[13,4,1,"_CPPv4N6HALock13handleCommandEPK7uint8_tK8uint16_t","HALock::handleCommand::cmd"],[13,4,1,"_CPPv4N6HALock13handleCommandEPK7uint8_tK8uint16_t","HALock::handleCommand::length"],[13,3,1,"_CPPv4N6HALock9onCommandEPFv11LockCommandP6HALockE","HALock::onCommand"],[13,4,1,"_CPPv4N6HALock9onCommandEPFv11LockCommandP6HALockE","HALock::onCommand::callback"],[13,3,1,"_CPPv4N6HALock15onMqttConnectedEv","HALock::onMqttConnected"],[13,3,1,"_CPPv4N6HALock13onMqttMessageEPKcPK7uint8_tK8uint16_t","HALock::onMqttMessage"],[13,4,1,"_CPPv4N6HALock13onMqttMessageEPKcPK7uint8_tK8uint16_t","HALock::onMqttMessage::length"],[13,4,1,"_CPPv4N6HALock13onMqttMessageEPKcPK7uint8_tK8uint16_t","HALock::onMqttMessage::payload"],[13,4,1,"_CPPv4N6HALock13onMqttMessageEPKcPK7uint8_tK8uint16_t","HALock::onMqttMessage::topic"],[13,3,1,"_CPPv4N6HALock12publishStateEK9LockState","HALock::publishState"],[13,4,1,"_CPPv4N6HALock12publishStateEK9LockState","HALock::publishState::state"],[13,3,1,"_CPPv4N6HALock15setCurrentStateEK9LockState","HALock::setCurrentState"],[13,4,1,"_CPPv4N6HALock15setCurrentStateEK9LockState","HALock::setCurrentState::state"],[13,3,1,"_CPPv4N6HALock7setIconEPKc","HALock::setIcon"],[13,4,1,"_CPPv4N6HALock7setIconEPKc","HALock::setIcon::icon"],[13,3,1,"_CPPv4N6HALock13setOptimisticEKb","HALock::setOptimistic"],[13,4,1,"_CPPv4N6HALock13setOptimisticEKb","HALock::setOptimistic::optimistic"],[13,3,1,"_CPPv4N6HALock9setRetainEKb","HALock::setRetain"],[13,4,1,"_CPPv4N6HALock9setRetainEKb","HALock::setRetain::retain"],[13,3,1,"_CPPv4N6HALock8setStateEK9LockStateKb","HALock::setState"],[13,4,1,"_CPPv4N6HALock8setStateEK9LockStateKb","HALock::setState::force"],[13,4,1,"_CPPv4N6HALock8setStateEK9LockStateKb","HALock::setState::state"],[1,0,1,"_CPPv46HAMqtt","HAMqtt"],[1,3,1,"_CPPv4N6HAMqtt6HAMqttER6ClientR8HADeviceK7uint8_t","HAMqtt::HAMqtt"],[1,4,1,"_CPPv4N6HAMqtt6HAMqttER6ClientR8HADeviceK7uint8_t","HAMqtt::HAMqtt::device"],[1,4,1,"_CPPv4N6HAMqtt6HAMqttER6ClientR8HADeviceK7uint8_t","HAMqtt::HAMqtt::maxDevicesTypesNb"],[1,4,1,"_CPPv4N6HAMqtt6HAMqttER6ClientR8HADeviceK7uint8_t","HAMqtt::HAMqtt::netClient"],[1,5,1,"_CPPv4N6HAMqtt17ReconnectIntervalE","HAMqtt::ReconnectInterval"],[1,5,1,"_CPPv4N6HAMqtt18_connectedCallbackE","HAMqtt::_connectedCallback"],[1,5,1,"_CPPv4N6HAMqtt11_dataPrefixE","HAMqtt::_dataPrefix"],[1,5,1,"_CPPv4N6HAMqtt7_deviceE","HAMqtt::_device"],[1,5,1,"_CPPv4N6HAMqtt13_devicesTypesE","HAMqtt::_devicesTypes"],[1,5,1,"_CPPv4N6HAMqtt15_devicesTypesNbE","HAMqtt::_devicesTypesNb"],[1,5,1,"_CPPv4N6HAMqtt16_discoveryPrefixE","HAMqtt::_discoveryPrefix"],[1,5,1,"_CPPv4N6HAMqtt12_initializedE","HAMqtt::_initialized"],[1,5,1,"_CPPv4N6HAMqtt9_instanceE","HAMqtt::_instance"],[1,5,1,"_CPPv4N6HAMqtt24_lastConnectionAttemptAtE","HAMqtt::_lastConnectionAttemptAt"],[1,5,1,"_CPPv4N6HAMqtt16_lastWillMessageE","HAMqtt::_lastWillMessage"],[1,5,1,"_CPPv4N6HAMqtt15_lastWillRetainE","HAMqtt::_lastWillRetain"],[1,5,1,"_CPPv4N6HAMqtt14_lastWillTopicE","HAMqtt::_lastWillTopic"],[1,5,1,"_CPPv4N6HAMqtt18_maxDevicesTypesNbE","HAMqtt::_maxDevicesTypesNb"],[1,5,1,"_CPPv4N6HAMqtt16_messageCallbackE","HAMqtt::_messageCallback"],[1,5,1,"_CPPv4N6HAMqtt5_mqttE","HAMqtt::_mqtt"],[1,5,1,"_CPPv4N6HAMqtt9_passwordE","HAMqtt::_password"],[1,5,1,"_CPPv4N6HAMqtt9_usernameE","HAMqtt::_username"],[1,3,1,"_CPPv4N6HAMqtt13addDeviceTypeEP16HABaseDeviceType","HAMqtt::addDeviceType"],[1,4,1,"_CPPv4N6HAMqtt13addDeviceTypeEP16HABaseDeviceType","HAMqtt::addDeviceType::deviceType"],[1,3,1,"_CPPv4N6HAMqtt5beginEK9IPAddressK8uint16_tPKcPKc","HAMqtt::begin"],[1,3,1,"_CPPv4N6HAMqtt5beginEK9IPAddressPKcPKc","HAMqtt::begin"],[1,3,1,"_CPPv4N6HAMqtt5beginEPKcK8uint16_tPKcPKc","HAMqtt::begin"],[1,3,1,"_CPPv4N6HAMqtt5beginEPKcPKcPKc","HAMqtt::begin"],[1,4,1,"_CPPv4N6HAMqtt5beginEK9IPAddressK8uint16_tPKcPKc","HAMqtt::begin::password"],[1,4,1,"_CPPv4N6HAMqtt5beginEK9IPAddressPKcPKc","HAMqtt::begin::password"],[1,4,1,"_CPPv4N6HAMqtt5beginEPKcK8uint16_tPKcPKc","HAMqtt::begin::password"],[1,4,1,"_CPPv4N6HAMqtt5beginEPKcPKcPKc","HAMqtt::begin::password"],[1,4,1,"_CPPv4N6HAMqtt5beginEPKcK8uint16_tPKcPKc","HAMqtt::begin::serverHostname"],[1,4,1,"_CPPv4N6HAMqtt5beginEPKcPKcPKc","HAMqtt::begin::serverHostname"],[1,4,1,"_CPPv4N6HAMqtt5beginEK9IPAddressK8uint16_tPKcPKc","HAMqtt::begin::serverIp"],[1,4,1,"_CPPv4N6HAMqtt5beginEK9IPAddressPKcPKc","HAMqtt::begin::serverIp"],[1,4,1,"_CPPv4N6HAMqtt5beginEK9IPAddressK8uint16_tPKcPKc","HAMqtt::begin::serverPort"],[1,4,1,"_CPPv4N6HAMqtt5beginEPKcK8uint16_tPKcPKc","HAMqtt::begin::serverPort"],[1,4,1,"_CPPv4N6HAMqtt5beginEK9IPAddressK8uint16_tPKcPKc","HAMqtt::begin::username"],[1,4,1,"_CPPv4N6HAMqtt5beginEK9IPAddressPKcPKc","HAMqtt::begin::username"],[1,4,1,"_CPPv4N6HAMqtt5beginEPKcK8uint16_tPKcPKc","HAMqtt::begin::username"],[1,4,1,"_CPPv4N6HAMqtt5beginEPKcPKcPKc","HAMqtt::begin::username"],[1,3,1,"_CPPv4N6HAMqtt12beginPublishEPKc8uint16_tb","HAMqtt::beginPublish"],[1,4,1,"_CPPv4N6HAMqtt12beginPublishEPKc8uint16_tb","HAMqtt::beginPublish::payloadLength"],[1,4,1,"_CPPv4N6HAMqtt12beginPublishEPKc8uint16_tb","HAMqtt::beginPublish::retained"],[1,4,1,"_CPPv4N6HAMqtt12beginPublishEPKc8uint16_tb","HAMqtt::beginPublish::topic"],[1,3,1,"_CPPv4N6HAMqtt15connectToServerEv","HAMqtt::connectToServer"],[1,3,1,"_CPPv4N6HAMqtt10disconnectEv","HAMqtt::disconnect"],[1,3,1,"_CPPv4N6HAMqtt10endPublishEv","HAMqtt::endPublish"],[1,3,1,"_CPPv4NK6HAMqtt13getDataPrefixEv","HAMqtt::getDataPrefix"],[1,3,1,"_CPPv4NK6HAMqtt9getDeviceEv","HAMqtt::getDevice"],[1,3,1,"_CPPv4NK6HAMqtt18getDiscoveryPrefixEv","HAMqtt::getDiscoveryPrefix"],[1,3,1,"_CPPv4N6HAMqtt8instanceEv","HAMqtt::instance"],[1,3,1,"_CPPv4NK6HAMqtt11isConnectedEv","HAMqtt::isConnected"],[1,3,1,"_CPPv4N6HAMqtt4loopEv","HAMqtt::loop"],[1,3,1,"_CPPv4N6HAMqtt11onConnectedEPFvvE","HAMqtt::onConnected"],[1,4,1,"_CPPv4N6HAMqtt11onConnectedEPFvvE","HAMqtt::onConnected::callback"],[1,3,1,"_CPPv4N6HAMqtt16onConnectedLogicEv","HAMqtt::onConnectedLogic"],[1,3,1,"_CPPv4N6HAMqtt9onMessageEPFvPKcPK7uint8_t8uint16_tE","HAMqtt::onMessage"],[1,4,1,"_CPPv4N6HAMqtt9onMessageEPFvPKcPK7uint8_t8uint16_tE","HAMqtt::onMessage::callback"],[1,3,1,"_CPPv4N6HAMqtt14processMessageEPKcPK7uint8_t8uint16_t","HAMqtt::processMessage"],[1,4,1,"_CPPv4N6HAMqtt14processMessageEPKcPK7uint8_t8uint16_t","HAMqtt::processMessage::length"],[1,4,1,"_CPPv4N6HAMqtt14processMessageEPKcPK7uint8_t8uint16_t","HAMqtt::processMessage::payload"],[1,4,1,"_CPPv4N6HAMqtt14processMessageEPKcPK7uint8_t8uint16_t","HAMqtt::processMessage::topic"],[1,3,1,"_CPPv4N6HAMqtt7publishEPKcPKcb","HAMqtt::publish"],[1,4,1,"_CPPv4N6HAMqtt7publishEPKcPKcb","HAMqtt::publish::payload"],[1,4,1,"_CPPv4N6HAMqtt7publishEPKcPKcb","HAMqtt::publish::retained"],[1,4,1,"_CPPv4N6HAMqtt7publishEPKcPKcb","HAMqtt::publish::topic"],[1,3,1,"_CPPv4N6HAMqtt13setDataPrefixEPKc","HAMqtt::setDataPrefix"],[1,4,1,"_CPPv4N6HAMqtt13setDataPrefixEPKc","HAMqtt::setDataPrefix::prefix"],[1,3,1,"_CPPv4N6HAMqtt18setDiscoveryPrefixEPKc","HAMqtt::setDiscoveryPrefix"],[1,4,1,"_CPPv4N6HAMqtt18setDiscoveryPrefixEPKc","HAMqtt::setDiscoveryPrefix::prefix"],[1,3,1,"_CPPv4N6HAMqtt12setKeepAliveE8uint16_t","HAMqtt::setKeepAlive"],[1,4,1,"_CPPv4N6HAMqtt12setKeepAliveE8uint16_t","HAMqtt::setKeepAlive::keepAlive"],[1,3,1,"_CPPv4N6HAMqtt11setLastWillEPKcPKcb","HAMqtt::setLastWill"],[1,4,1,"_CPPv4N6HAMqtt11setLastWillEPKcPKcb","HAMqtt::setLastWill::lastWillMessage"],[1,4,1,"_CPPv4N6HAMqtt11setLastWillEPKcPKcb","HAMqtt::setLastWill::lastWillRetain"],[1,4,1,"_CPPv4N6HAMqtt11setLastWillEPKcPKcb","HAMqtt::setLastWill::lastWillTopic"],[1,3,1,"_CPPv4N6HAMqtt9subscribeEPKc","HAMqtt::subscribe"],[1,4,1,"_CPPv4N6HAMqtt9subscribeEPKc","HAMqtt::subscribe::topic"],[1,3,1,"_CPPv4N6HAMqtt12writePayloadEPK19__FlashStringHelper","HAMqtt::writePayload"],[1,3,1,"_CPPv4N6HAMqtt12writePayloadEPK7uint8_tK8uint16_t","HAMqtt::writePayload"],[1,3,1,"_CPPv4N6HAMqtt12writePayloadEPKcK8uint16_t","HAMqtt::writePayload"],[1,4,1,"_CPPv4N6HAMqtt12writePayloadEPK19__FlashStringHelper","HAMqtt::writePayload::data"],[1,4,1,"_CPPv4N6HAMqtt12writePayloadEPK7uint8_tK8uint16_t","HAMqtt::writePayload::data"],[1,4,1,"_CPPv4N6HAMqtt12writePayloadEPKcK8uint16_t","HAMqtt::writePayload::data"],[1,4,1,"_CPPv4N6HAMqtt12writePayloadEPK7uint8_tK8uint16_t","HAMqtt::writePayload::length"],[1,4,1,"_CPPv4N6HAMqtt12writePayloadEPKcK8uint16_t","HAMqtt::writePayload::length"],[1,3,1,"_CPPv4N6HAMqttD0Ev","HAMqtt::~HAMqtt"],[14,0,1,"_CPPv48HANumber","HANumber"],[14,3,1,"_CPPv4N8HANumber8HANumberEPKcK15NumberPrecision","HANumber::HANumber"],[14,4,1,"_CPPv4N8HANumber8HANumberEPKcK15NumberPrecision","HANumber::HANumber::precision"],[14,4,1,"_CPPv4N8HANumber8HANumberEPKcK15NumberPrecision","HANumber::HANumber::uniqueId"],[14,1,1,"_CPPv4N8HANumber4ModeE","HANumber::Mode"],[14,2,1,"_CPPv4N8HANumber4Mode8ModeAutoE","HANumber::Mode::ModeAuto"],[14,2,1,"_CPPv4N8HANumber4Mode7ModeBoxE","HANumber::Mode::ModeBox"],[14,2,1,"_CPPv4N8HANumber4Mode10ModeSliderE","HANumber::Mode::ModeSlider"],[14,2,1,"_CPPv4N8HANumber4Mode8ModeAutoE","HANumber::ModeAuto"],[14,2,1,"_CPPv4N8HANumber4Mode7ModeBoxE","HANumber::ModeBox"],[14,2,1,"_CPPv4N8HANumber4Mode10ModeSliderE","HANumber::ModeSlider"],[14,5,1,"_CPPv4N8HANumber6_classE","HANumber::_class"],[14,5,1,"_CPPv4N8HANumber16_commandCallbackE","HANumber::_commandCallback"],[14,5,1,"_CPPv4N8HANumber13_currentStateE","HANumber::_currentState"],[14,5,1,"_CPPv4N8HANumber5_iconE","HANumber::_icon"],[14,5,1,"_CPPv4N8HANumber9_maxValueE","HANumber::_maxValue"],[14,5,1,"_CPPv4N8HANumber9_minValueE","HANumber::_minValue"],[14,5,1,"_CPPv4N8HANumber5_modeE","HANumber::_mode"],[14,5,1,"_CPPv4N8HANumber11_optimisticE","HANumber::_optimistic"],[14,5,1,"_CPPv4N8HANumber10_precisionE","HANumber::_precision"],[14,5,1,"_CPPv4N8HANumber7_retainE","HANumber::_retain"],[14,5,1,"_CPPv4N8HANumber5_stepE","HANumber::_step"],[14,5,1,"_CPPv4N8HANumber18_unitOfMeasurementE","HANumber::_unitOfMeasurement"],[14,3,1,"_CPPv4N8HANumber15buildSerializerEv","HANumber::buildSerializer"],[14,3,1,"_CPPv4N8HANumber18getCommandTemplateEv","HANumber::getCommandTemplate"],[14,3,1,"_CPPv4NK8HANumber15getCurrentStateEv","HANumber::getCurrentState"],[14,3,1,"_CPPv4NK8HANumber15getModePropertyEv","HANumber::getModeProperty"],[14,3,1,"_CPPv4N8HANumber13handleCommandEPK7uint8_tK8uint16_t","HANumber::handleCommand"],[14,4,1,"_CPPv4N8HANumber13handleCommandEPK7uint8_tK8uint16_t","HANumber::handleCommand::cmd"],[14,4,1,"_CPPv4N8HANumber13handleCommandEPK7uint8_tK8uint16_t","HANumber::handleCommand::length"],[14,3,1,"_CPPv4N8HANumber9onCommandEPFv9HANumericP8HANumberE","HANumber::onCommand"],[14,4,1,"_CPPv4N8HANumber9onCommandEPFv9HANumericP8HANumberE","HANumber::onCommand::callback"],[14,3,1,"_CPPv4N8HANumber15onMqttConnectedEv","HANumber::onMqttConnected"],[14,3,1,"_CPPv4N8HANumber13onMqttMessageEPKcPK7uint8_tK8uint16_t","HANumber::onMqttMessage"],[14,4,1,"_CPPv4N8HANumber13onMqttMessageEPKcPK7uint8_tK8uint16_t","HANumber::onMqttMessage::length"],[14,4,1,"_CPPv4N8HANumber13onMqttMessageEPKcPK7uint8_tK8uint16_t","HANumber::onMqttMessage::payload"],[14,4,1,"_CPPv4N8HANumber13onMqttMessageEPKcPK7uint8_tK8uint16_t","HANumber::onMqttMessage::topic"],[14,3,1,"_CPPv4N8HANumber12publishStateERK9HANumeric","HANumber::publishState"],[14,4,1,"_CPPv4N8HANumber12publishStateERK9HANumeric","HANumber::publishState::state"],[14,3,1,"_CPPv4N8HANumber15setCurrentStateEK6int8_t","HANumber::setCurrentState"],[14,3,1,"_CPPv4N8HANumber15setCurrentStateEK7int16_t","HANumber::setCurrentState"],[14,3,1,"_CPPv4N8HANumber15setCurrentStateEK7int32_t","HANumber::setCurrentState"],[14,3,1,"_CPPv4N8HANumber15setCurrentStateEK7uint8_t","HANumber::setCurrentState"],[14,3,1,"_CPPv4N8HANumber15setCurrentStateEK8uint16_t","HANumber::setCurrentState"],[14,3,1,"_CPPv4N8HANumber15setCurrentStateEK8uint32_t","HANumber::setCurrentState"],[14,3,1,"_CPPv4N8HANumber15setCurrentStateEKf","HANumber::setCurrentState"],[14,3,1,"_CPPv4N8HANumber15setCurrentStateERK9HANumeric","HANumber::setCurrentState"],[14,4,1,"_CPPv4N8HANumber15setCurrentStateEK6int8_t","HANumber::setCurrentState::state"],[14,4,1,"_CPPv4N8HANumber15setCurrentStateEK7int16_t","HANumber::setCurrentState::state"],[14,4,1,"_CPPv4N8HANumber15setCurrentStateEK7int32_t","HANumber::setCurrentState::state"],[14,4,1,"_CPPv4N8HANumber15setCurrentStateEK7uint8_t","HANumber::setCurrentState::state"],[14,4,1,"_CPPv4N8HANumber15setCurrentStateEK8uint16_t","HANumber::setCurrentState::state"],[14,4,1,"_CPPv4N8HANumber15setCurrentStateEK8uint32_t","HANumber::setCurrentState::state"],[14,4,1,"_CPPv4N8HANumber15setCurrentStateEKf","HANumber::setCurrentState::state"],[14,4,1,"_CPPv4N8HANumber15setCurrentStateERK9HANumeric","HANumber::setCurrentState::state"],[14,3,1,"_CPPv4N8HANumber14setDeviceClassEPKc","HANumber::setDeviceClass"],[14,4,1,"_CPPv4N8HANumber14setDeviceClassEPKc","HANumber::setDeviceClass::deviceClass"],[14,3,1,"_CPPv4N8HANumber7setIconEPKc","HANumber::setIcon"],[14,4,1,"_CPPv4N8HANumber7setIconEPKc","HANumber::setIcon::icon"],[14,3,1,"_CPPv4N8HANumber6setMaxEKf","HANumber::setMax"],[14,4,1,"_CPPv4N8HANumber6setMaxEKf","HANumber::setMax::max"],[14,3,1,"_CPPv4N8HANumber6setMinEKf","HANumber::setMin"],[14,4,1,"_CPPv4N8HANumber6setMinEKf","HANumber::setMin::min"],[14,3,1,"_CPPv4N8HANumber7setModeEK4Mode","HANumber::setMode"],[14,4,1,"_CPPv4N8HANumber7setModeEK4Mode","HANumber::setMode::mode"],[14,3,1,"_CPPv4N8HANumber13setOptimisticEKb","HANumber::setOptimistic"],[14,4,1,"_CPPv4N8HANumber13setOptimisticEKb","HANumber::setOptimistic::optimistic"],[14,3,1,"_CPPv4N8HANumber9setRetainEKb","HANumber::setRetain"],[14,4,1,"_CPPv4N8HANumber9setRetainEKb","HANumber::setRetain::retain"],[14,3,1,"_CPPv4N8HANumber8setStateEK6int8_tKb","HANumber::setState"],[14,3,1,"_CPPv4N8HANumber8setStateEK7int16_tKb","HANumber::setState"],[14,3,1,"_CPPv4N8HANumber8setStateEK7int32_tKb","HANumber::setState"],[14,3,1,"_CPPv4N8HANumber8setStateEK7uint8_tKb","HANumber::setState"],[14,3,1,"_CPPv4N8HANumber8setStateEK8uint16_tKb","HANumber::setState"],[14,3,1,"_CPPv4N8HANumber8setStateEK8uint32_tKb","HANumber::setState"],[14,3,1,"_CPPv4N8HANumber8setStateEKfKb","HANumber::setState"],[14,3,1,"_CPPv4N8HANumber8setStateERK9HANumericKb","HANumber::setState"],[14,4,1,"_CPPv4N8HANumber8setStateEK6int8_tKb","HANumber::setState::force"],[14,4,1,"_CPPv4N8HANumber8setStateEK7int16_tKb","HANumber::setState::force"],[14,4,1,"_CPPv4N8HANumber8setStateEK7int32_tKb","HANumber::setState::force"],[14,4,1,"_CPPv4N8HANumber8setStateEK7uint8_tKb","HANumber::setState::force"],[14,4,1,"_CPPv4N8HANumber8setStateEK8uint16_tKb","HANumber::setState::force"],[14,4,1,"_CPPv4N8HANumber8setStateEK8uint32_tKb","HANumber::setState::force"],[14,4,1,"_CPPv4N8HANumber8setStateEKfKb","HANumber::setState::force"],[14,4,1,"_CPPv4N8HANumber8setStateERK9HANumericKb","HANumber::setState::force"],[14,4,1,"_CPPv4N8HANumber8setStateEK6int8_tKb","HANumber::setState::state"],[14,4,1,"_CPPv4N8HANumber8setStateEK7int16_tKb","HANumber::setState::state"],[14,4,1,"_CPPv4N8HANumber8setStateEK7int32_tKb","HANumber::setState::state"],[14,4,1,"_CPPv4N8HANumber8setStateEK7uint8_tKb","HANumber::setState::state"],[14,4,1,"_CPPv4N8HANumber8setStateEK8uint16_tKb","HANumber::setState::state"],[14,4,1,"_CPPv4N8HANumber8setStateEK8uint32_tKb","HANumber::setState::state"],[14,4,1,"_CPPv4N8HANumber8setStateEKfKb","HANumber::setState::state"],[14,4,1,"_CPPv4N8HANumber8setStateERK9HANumericKb","HANumber::setState::state"],[14,3,1,"_CPPv4N8HANumber7setStepEKf","HANumber::setStep"],[14,4,1,"_CPPv4N8HANumber7setStepEKf","HANumber::setStep::step"],[14,3,1,"_CPPv4N8HANumber20setUnitOfMeasurementEPKc","HANumber::setUnitOfMeasurement"],[14,4,1,"_CPPv4N8HANumber20setUnitOfMeasurementEPKc","HANumber::setUnitOfMeasurement::unitOfMeasurement"],[23,0,1,"_CPPv49HANumeric","HANumeric"],[23,3,1,"_CPPv4N9HANumeric9HANumericEK6int8_tK7uint8_t","HANumeric::HANumeric"],[23,3,1,"_CPPv4N9HANumeric9HANumericEK7int16_tK7uint8_t","HANumeric::HANumeric"],[23,3,1,"_CPPv4N9HANumeric9HANumericEK7int32_tK7uint8_t","HANumeric::HANumeric"],[23,3,1,"_CPPv4N9HANumeric9HANumericEK7int64_t","HANumeric::HANumeric"],[23,3,1,"_CPPv4N9HANumeric9HANumericEK7uint8_tK7uint8_t","HANumeric::HANumeric"],[23,3,1,"_CPPv4N9HANumeric9HANumericEK8uint16_tK7uint8_t","HANumeric::HANumeric"],[23,3,1,"_CPPv4N9HANumeric9HANumericEK8uint32_tK7uint8_t","HANumeric::HANumeric"],[23,3,1,"_CPPv4N9HANumeric9HANumericEKfK7uint8_t","HANumeric::HANumeric"],[23,3,1,"_CPPv4N9HANumeric9HANumericEv","HANumeric::HANumeric"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK6int8_tK7uint8_t","HANumeric::HANumeric::precision"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK7int16_tK7uint8_t","HANumeric::HANumeric::precision"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK7int32_tK7uint8_t","HANumeric::HANumeric::precision"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK7uint8_tK7uint8_t","HANumeric::HANumeric::precision"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK8uint16_tK7uint8_t","HANumeric::HANumeric::precision"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK8uint32_tK7uint8_t","HANumeric::HANumeric::precision"],[23,4,1,"_CPPv4N9HANumeric9HANumericEKfK7uint8_t","HANumeric::HANumeric::precision"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK6int8_tK7uint8_t","HANumeric::HANumeric::value"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK7int16_tK7uint8_t","HANumeric::HANumeric::value"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK7int32_tK7uint8_t","HANumeric::HANumeric::value"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK7int64_t","HANumeric::HANumeric::value"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK7uint8_tK7uint8_t","HANumeric::HANumeric::value"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK8uint16_tK7uint8_t","HANumeric::HANumeric::value"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK8uint32_tK7uint8_t","HANumeric::HANumeric::value"],[23,4,1,"_CPPv4N9HANumeric9HANumericEKfK7uint8_t","HANumeric::HANumeric::value"],[23,5,1,"_CPPv4N9HANumeric11MaxDigitsNbE","HANumeric::MaxDigitsNb"],[23,5,1,"_CPPv4N9HANumeric6_isSetE","HANumeric::_isSet"],[23,5,1,"_CPPv4N9HANumeric10_precisionE","HANumeric::_precision"],[23,5,1,"_CPPv4N9HANumeric6_valueE","HANumeric::_value"],[23,3,1,"_CPPv4NK9HANumeric13calculateSizeEv","HANumeric::calculateSize"],[23,3,1,"_CPPv4N9HANumeric7fromStrEPK7uint8_tK8uint16_t","HANumeric::fromStr"],[23,4,1,"_CPPv4N9HANumeric7fromStrEPK7uint8_tK8uint16_t","HANumeric::fromStr::buffer"],[23,4,1,"_CPPv4N9HANumeric7fromStrEPK7uint8_tK8uint16_t","HANumeric::fromStr::length"],[23,3,1,"_CPPv4NK9HANumeric12getBaseValueEv","HANumeric::getBaseValue"],[23,3,1,"_CPPv4NK9HANumeric12getPrecisionEv","HANumeric::getPrecision"],[23,3,1,"_CPPv4NK9HANumeric16getPrecisionBaseEv","HANumeric::getPrecisionBase"],[23,3,1,"_CPPv4NK9HANumeric7isFloatEv","HANumeric::isFloat"],[23,3,1,"_CPPv4NK9HANumeric7isInt16Ev","HANumeric::isInt16"],[23,3,1,"_CPPv4NK9HANumeric7isInt32Ev","HANumeric::isInt32"],[23,3,1,"_CPPv4NK9HANumeric6isInt8Ev","HANumeric::isInt8"],[23,3,1,"_CPPv4NK9HANumeric5isSetEv","HANumeric::isSet"],[23,3,1,"_CPPv4NK9HANumeric8isUInt16Ev","HANumeric::isUInt16"],[23,3,1,"_CPPv4NK9HANumeric8isUInt32Ev","HANumeric::isUInt32"],[23,3,1,"_CPPv4NK9HANumeric7isUInt8Ev","HANumeric::isUInt8"],[23,3,1,"_CPPv4N9HANumericaSERK9HANumeric","HANumeric::operator="],[23,4,1,"_CPPv4N9HANumericaSERK9HANumeric","HANumeric::operator=::a"],[23,3,1,"_CPPv4NK9HANumericeqERK9HANumeric","HANumeric::operator=="],[23,4,1,"_CPPv4NK9HANumericeqERK9HANumeric","HANumeric::operator==::a"],[23,3,1,"_CPPv4N9HANumeric5resetEv","HANumeric::reset"],[23,3,1,"_CPPv4N9HANumeric12setBaseValueE7int64_t","HANumeric::setBaseValue"],[23,4,1,"_CPPv4N9HANumeric12setBaseValueE7int64_t","HANumeric::setBaseValue::value"],[23,3,1,"_CPPv4N9HANumeric12setPrecisionEK7uint8_t","HANumeric::setPrecision"],[23,4,1,"_CPPv4N9HANumeric12setPrecisionEK7uint8_t","HANumeric::setPrecision::precision"],[23,3,1,"_CPPv4NK9HANumeric7toFloatEv","HANumeric::toFloat"],[23,3,1,"_CPPv4NK9HANumeric7toInt16Ev","HANumeric::toInt16"],[23,3,1,"_CPPv4NK9HANumeric7toInt32Ev","HANumeric::toInt32"],[23,3,1,"_CPPv4NK9HANumeric6toInt8Ev","HANumeric::toInt8"],[23,3,1,"_CPPv4NK9HANumeric5toStrEPc","HANumeric::toStr"],[23,4,1,"_CPPv4NK9HANumeric5toStrEPc","HANumeric::toStr::dst"],[23,3,1,"_CPPv4NK9HANumeric8toUInt16Ev","HANumeric::toUInt16"],[23,3,1,"_CPPv4NK9HANumeric8toUInt32Ev","HANumeric::toUInt32"],[23,3,1,"_CPPv4NK9HANumeric7toUInt8Ev","HANumeric::toUInt8"],[15,0,1,"_CPPv47HAScene","HAScene"],[15,3,1,"_CPPv4N7HAScene7HASceneEPKc","HAScene::HAScene"],[15,4,1,"_CPPv4N7HAScene7HASceneEPKc","HAScene::HAScene::uniqueId"],[15,5,1,"_CPPv4N7HAScene16_commandCallbackE","HAScene::_commandCallback"],[15,5,1,"_CPPv4N7HAScene5_iconE","HAScene::_icon"],[15,5,1,"_CPPv4N7HAScene7_retainE","HAScene::_retain"],[15,3,1,"_CPPv4N7HAScene15buildSerializerEv","HAScene::buildSerializer"],[15,3,1,"_CPPv4N7HAScene9onCommandEPFvP7HASceneE","HAScene::onCommand"],[15,4,1,"_CPPv4N7HAScene9onCommandEPFvP7HASceneE","HAScene::onCommand::callback"],[15,3,1,"_CPPv4N7HAScene15onMqttConnectedEv","HAScene::onMqttConnected"],[15,3,1,"_CPPv4N7HAScene13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAScene::onMqttMessage"],[15,4,1,"_CPPv4N7HAScene13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAScene::onMqttMessage::length"],[15,4,1,"_CPPv4N7HAScene13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAScene::onMqttMessage::payload"],[15,4,1,"_CPPv4N7HAScene13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAScene::onMqttMessage::topic"],[15,3,1,"_CPPv4N7HAScene7setIconEPKc","HAScene::setIcon"],[15,4,1,"_CPPv4N7HAScene7setIconEPKc","HAScene::setIcon::icon"],[15,3,1,"_CPPv4N7HAScene9setRetainEKb","HAScene::setRetain"],[15,4,1,"_CPPv4N7HAScene9setRetainEKb","HAScene::setRetain::retain"],[16,0,1,"_CPPv48HASelect","HASelect"],[16,3,1,"_CPPv4N8HASelect8HASelectEPKc","HASelect::HASelect"],[16,4,1,"_CPPv4N8HASelect8HASelectEPKc","HASelect::HASelect::uniqueId"],[16,5,1,"_CPPv4N8HASelect16_commandCallbackE","HASelect::_commandCallback"],[16,5,1,"_CPPv4N8HASelect13_currentStateE","HASelect::_currentState"],[16,5,1,"_CPPv4N8HASelect5_iconE","HASelect::_icon"],[16,5,1,"_CPPv4N8HASelect11_optimisticE","HASelect::_optimistic"],[16,5,1,"_CPPv4N8HASelect8_optionsE","HASelect::_options"],[16,5,1,"_CPPv4N8HASelect7_retainE","HASelect::_retain"],[16,3,1,"_CPPv4N8HASelect15buildSerializerEv","HASelect::buildSerializer"],[16,3,1,"_CPPv4NK8HASelect20countOptionsInStringEPKc","HASelect::countOptionsInString"],[16,4,1,"_CPPv4NK8HASelect20countOptionsInStringEPKc","HASelect::countOptionsInString::options"],[16,3,1,"_CPPv4NK8HASelect16getCurrentOptionEv","HASelect::getCurrentOption"],[16,3,1,"_CPPv4NK8HASelect15getCurrentStateEv","HASelect::getCurrentState"],[16,3,1,"_CPPv4N8HASelect9onCommandEPFv6int8_tP8HASelectE","HASelect::onCommand"],[16,4,1,"_CPPv4N8HASelect9onCommandEPFv6int8_tP8HASelectE","HASelect::onCommand::callback"],[16,3,1,"_CPPv4N8HASelect15onMqttConnectedEv","HASelect::onMqttConnected"],[16,3,1,"_CPPv4N8HASelect13onMqttMessageEPKcPK7uint8_tK8uint16_t","HASelect::onMqttMessage"],[16,4,1,"_CPPv4N8HASelect13onMqttMessageEPKcPK7uint8_tK8uint16_t","HASelect::onMqttMessage::length"],[16,4,1,"_CPPv4N8HASelect13onMqttMessageEPKcPK7uint8_tK8uint16_t","HASelect::onMqttMessage::payload"],[16,4,1,"_CPPv4N8HASelect13onMqttMessageEPKcPK7uint8_tK8uint16_t","HASelect::onMqttMessage::topic"],[16,3,1,"_CPPv4N8HASelect12publishStateEK6int8_t","HASelect::publishState"],[16,4,1,"_CPPv4N8HASelect12publishStateEK6int8_t","HASelect::publishState::state"],[16,3,1,"_CPPv4N8HASelect15setCurrentStateEK6int8_t","HASelect::setCurrentState"],[16,4,1,"_CPPv4N8HASelect15setCurrentStateEK6int8_t","HASelect::setCurrentState::state"],[16,3,1,"_CPPv4N8HASelect7setIconEPKc","HASelect::setIcon"],[16,4,1,"_CPPv4N8HASelect7setIconEPKc","HASelect::setIcon::icon"],[16,3,1,"_CPPv4N8HASelect13setOptimisticEKb","HASelect::setOptimistic"],[16,4,1,"_CPPv4N8HASelect13setOptimisticEKb","HASelect::setOptimistic::optimistic"],[16,3,1,"_CPPv4N8HASelect10setOptionsEPKc","HASelect::setOptions"],[16,4,1,"_CPPv4N8HASelect10setOptionsEPKc","HASelect::setOptions::options"],[16,3,1,"_CPPv4N8HASelect9setRetainEKb","HASelect::setRetain"],[16,4,1,"_CPPv4N8HASelect9setRetainEKb","HASelect::setRetain::retain"],[16,3,1,"_CPPv4N8HASelect8setStateEK6int8_tKb","HASelect::setState"],[16,4,1,"_CPPv4N8HASelect8setStateEK6int8_tKb","HASelect::setState::force"],[16,4,1,"_CPPv4N8HASelect8setStateEK6int8_tKb","HASelect::setState::state"],[16,3,1,"_CPPv4N8HASelectD0Ev","HASelect::~HASelect"],[17,0,1,"_CPPv48HASensor","HASensor"],[17,2,1,"_CPPv4N8HASensor8Features15DefaultFeaturesE","HASensor::DefaultFeatures"],[17,1,1,"_CPPv4N8HASensor8FeaturesE","HASensor::Features"],[17,2,1,"_CPPv4N8HASensor8Features15DefaultFeaturesE","HASensor::Features::DefaultFeatures"],[17,2,1,"_CPPv4N8HASensor8Features21JsonAttributesFeatureE","HASensor::Features::JsonAttributesFeature"],[17,3,1,"_CPPv4N8HASensor8HASensorEPKcK8uint16_t","HASensor::HASensor"],[17,4,1,"_CPPv4N8HASensor8HASensorEPKcK8uint16_t","HASensor::HASensor::features"],[17,4,1,"_CPPv4N8HASensor8HASensorEPKcK8uint16_t","HASensor::HASensor::uniqueId"],[17,2,1,"_CPPv4N8HASensor8Features21JsonAttributesFeatureE","HASensor::JsonAttributesFeature"],[17,5,1,"_CPPv4N8HASensor12_deviceClassE","HASensor::_deviceClass"],[17,5,1,"_CPPv4N8HASensor12_expireAfterE","HASensor::_expireAfter"],[17,5,1,"_CPPv4N8HASensor9_featuresE","HASensor::_features"],[17,5,1,"_CPPv4N8HASensor12_forceUpdateE","HASensor::_forceUpdate"],[17,5,1,"_CPPv4N8HASensor5_iconE","HASensor::_icon"],[17,5,1,"_CPPv4N8HASensor11_stateClassE","HASensor::_stateClass"],[17,5,1,"_CPPv4N8HASensor18_unitOfMeasurementE","HASensor::_unitOfMeasurement"],[17,3,1,"_CPPv4N8HASensor15buildSerializerEv","HASensor::buildSerializer"],[17,3,1,"_CPPv4N8HASensor15onMqttConnectedEv","HASensor::onMqttConnected"],[17,3,1,"_CPPv4N8HASensor14setDeviceClassEPKc","HASensor::setDeviceClass"],[17,4,1,"_CPPv4N8HASensor14setDeviceClassEPKc","HASensor::setDeviceClass::deviceClass"],[17,3,1,"_CPPv4N8HASensor14setExpireAfterE8uint16_t","HASensor::setExpireAfter"],[17,4,1,"_CPPv4N8HASensor14setExpireAfterE8uint16_t","HASensor::setExpireAfter::expireAfter"],[17,3,1,"_CPPv4N8HASensor14setForceUpdateEb","HASensor::setForceUpdate"],[17,4,1,"_CPPv4N8HASensor14setForceUpdateEb","HASensor::setForceUpdate::forceUpdate"],[17,3,1,"_CPPv4N8HASensor7setIconEPKc","HASensor::setIcon"],[17,4,1,"_CPPv4N8HASensor7setIconEPKc","HASensor::setIcon::icon"],[17,3,1,"_CPPv4N8HASensor17setJsonAttributesEPKc","HASensor::setJsonAttributes"],[17,4,1,"_CPPv4N8HASensor17setJsonAttributesEPKc","HASensor::setJsonAttributes::json"],[17,3,1,"_CPPv4N8HASensor13setStateClassEPKc","HASensor::setStateClass"],[17,4,1,"_CPPv4N8HASensor13setStateClassEPKc","HASensor::setStateClass::stateClass"],[17,3,1,"_CPPv4N8HASensor20setUnitOfMeasurementEPKc","HASensor::setUnitOfMeasurement"],[17,4,1,"_CPPv4N8HASensor20setUnitOfMeasurementEPKc","HASensor::setUnitOfMeasurement::unitOfMeasurement"],[17,3,1,"_CPPv4N8HASensor8setValueEPKc","HASensor::setValue"],[17,4,1,"_CPPv4N8HASensor8setValueEPKc","HASensor::setValue::value"],[18,0,1,"_CPPv414HASensorNumber","HASensorNumber"],[18,3,1,"_CPPv4N14HASensorNumber14HASensorNumberEPKcK15NumberPrecisionK8uint16_t","HASensorNumber::HASensorNumber"],[18,4,1,"_CPPv4N14HASensorNumber14HASensorNumberEPKcK15NumberPrecisionK8uint16_t","HASensorNumber::HASensorNumber::features"],[18,4,1,"_CPPv4N14HASensorNumber14HASensorNumberEPKcK15NumberPrecisionK8uint16_t","HASensorNumber::HASensorNumber::precision"],[18,4,1,"_CPPv4N14HASensorNumber14HASensorNumberEPKcK15NumberPrecisionK8uint16_t","HASensorNumber::HASensorNumber::uniqueId"],[18,5,1,"_CPPv4N14HASensorNumber13_currentValueE","HASensorNumber::_currentValue"],[18,5,1,"_CPPv4N14HASensorNumber10_precisionE","HASensorNumber::_precision"],[18,3,1,"_CPPv4NK14HASensorNumber15getCurrentValueEv","HASensorNumber::getCurrentValue"],[18,3,1,"_CPPv4N14HASensorNumber15onMqttConnectedEv","HASensorNumber::onMqttConnected"],[18,3,1,"_CPPv4N14HASensorNumber12publishValueERK9HANumeric","HASensorNumber::publishValue"],[18,4,1,"_CPPv4N14HASensorNumber12publishValueERK9HANumeric","HASensorNumber::publishValue::value"],[18,3,1,"_CPPv4N14HASensorNumber15setCurrentValueEK6int8_t","HASensorNumber::setCurrentValue"],[18,3,1,"_CPPv4N14HASensorNumber15setCurrentValueEK7int16_t","HASensorNumber::setCurrentValue"],[18,3,1,"_CPPv4N14HASensorNumber15setCurrentValueEK7int32_t","HASensorNumber::setCurrentValue"],[18,3,1,"_CPPv4N14HASensorNumber15setCurrentValueEK7uint8_t","HASensorNumber::setCurrentValue"],[18,3,1,"_CPPv4N14HASensorNumber15setCurrentValueEK8uint16_t","HASensorNumber::setCurrentValue"],[18,3,1,"_CPPv4N14HASensorNumber15setCurrentValueEK8uint32_t","HASensorNumber::setCurrentValue"],[18,3,1,"_CPPv4N14HASensorNumber15setCurrentValueEKf","HASensorNumber::setCurrentValue"],[18,3,1,"_CPPv4N14HASensorNumber15setCurrentValueERK9HANumeric","HASensorNumber::setCurrentValue"],[18,4,1,"_CPPv4N14HASensorNumber15setCurrentValueEK6int8_t","HASensorNumber::setCurrentValue::value"],[18,4,1,"_CPPv4N14HASensorNumber15setCurrentValueEK7int16_t","HASensorNumber::setCurrentValue::value"],[18,4,1,"_CPPv4N14HASensorNumber15setCurrentValueEK7int32_t","HASensorNumber::setCurrentValue::value"],[18,4,1,"_CPPv4N14HASensorNumber15setCurrentValueEK7uint8_t","HASensorNumber::setCurrentValue::value"],[18,4,1,"_CPPv4N14HASensorNumber15setCurrentValueEK8uint16_t","HASensorNumber::setCurrentValue::value"],[18,4,1,"_CPPv4N14HASensorNumber15setCurrentValueEK8uint32_t","HASensorNumber::setCurrentValue::value"],[18,4,1,"_CPPv4N14HASensorNumber15setCurrentValueEKf","HASensorNumber::setCurrentValue::value"],[18,4,1,"_CPPv4N14HASensorNumber15setCurrentValueERK9HANumeric","HASensorNumber::setCurrentValue::value"],[18,3,1,"_CPPv4N14HASensorNumber8setValueEK6int8_tKb","HASensorNumber::setValue"],[18,3,1,"_CPPv4N14HASensorNumber8setValueEK7int16_tKb","HASensorNumber::setValue"],[18,3,1,"_CPPv4N14HASensorNumber8setValueEK7int32_tKb","HASensorNumber::setValue"],[18,3,1,"_CPPv4N14HASensorNumber8setValueEK7uint8_tKb","HASensorNumber::setValue"],[18,3,1,"_CPPv4N14HASensorNumber8setValueEK8uint16_tKb","HASensorNumber::setValue"],[18,3,1,"_CPPv4N14HASensorNumber8setValueEK8uint32_tKb","HASensorNumber::setValue"],[18,3,1,"_CPPv4N14HASensorNumber8setValueEKfKb","HASensorNumber::setValue"],[18,3,1,"_CPPv4N14HASensorNumber8setValueERK9HANumericKb","HASensorNumber::setValue"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK6int8_tKb","HASensorNumber::setValue::force"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK7int16_tKb","HASensorNumber::setValue::force"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK7int32_tKb","HASensorNumber::setValue::force"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK7uint8_tKb","HASensorNumber::setValue::force"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK8uint16_tKb","HASensorNumber::setValue::force"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK8uint32_tKb","HASensorNumber::setValue::force"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEKfKb","HASensorNumber::setValue::force"],[18,4,1,"_CPPv4N14HASensorNumber8setValueERK9HANumericKb","HASensorNumber::setValue::force"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK6int8_tKb","HASensorNumber::setValue::value"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK7int16_tKb","HASensorNumber::setValue::value"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK7int32_tKb","HASensorNumber::setValue::value"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK7uint8_tKb","HASensorNumber::setValue::value"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK8uint16_tKb","HASensorNumber::setValue::value"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK8uint32_tKb","HASensorNumber::setValue::value"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEKfKb","HASensorNumber::setValue::value"],[18,4,1,"_CPPv4N14HASensorNumber8setValueERK9HANumericKb","HASensorNumber::setValue::value"],[24,0,1,"_CPPv412HASerializer","HASerializer"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType17ArrayPropertyTypeE","HASerializer::ArrayPropertyType"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType16BoolPropertyTypeE","HASerializer::BoolPropertyType"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType22ConstCharPropertyValueE","HASerializer::ConstCharPropertyValue"],[24,1,1,"_CPPv4N12HASerializer9EntryTypeE","HASerializer::EntryType"],[24,2,1,"_CPPv4N12HASerializer9EntryType13FlagEntryTypeE","HASerializer::EntryType::FlagEntryType"],[24,2,1,"_CPPv4N12HASerializer9EntryType17PropertyEntryTypeE","HASerializer::EntryType::PropertyEntryType"],[24,2,1,"_CPPv4N12HASerializer9EntryType14TopicEntryTypeE","HASerializer::EntryType::TopicEntryType"],[24,2,1,"_CPPv4N12HASerializer9EntryType16UnknownEntryTypeE","HASerializer::EntryType::UnknownEntryType"],[24,2,1,"_CPPv4N12HASerializer9EntryType13FlagEntryTypeE","HASerializer::FlagEntryType"],[24,1,1,"_CPPv4N12HASerializer8FlagTypeE","HASerializer::FlagType"],[24,2,1,"_CPPv4N12HASerializer8FlagType16WithAvailabilityE","HASerializer::FlagType::WithAvailability"],[24,2,1,"_CPPv4N12HASerializer8FlagType10WithDeviceE","HASerializer::FlagType::WithDevice"],[24,2,1,"_CPPv4N12HASerializer8FlagType12WithUniqueIdE","HASerializer::FlagType::WithUniqueId"],[24,3,1,"_CPPv4N12HASerializer12HASerializerEP16HABaseDeviceTypeK7uint8_t","HASerializer::HASerializer"],[24,4,1,"_CPPv4N12HASerializer12HASerializerEP16HABaseDeviceTypeK7uint8_t","HASerializer::HASerializer::deviceType"],[24,4,1,"_CPPv4N12HASerializer12HASerializerEP16HABaseDeviceTypeK7uint8_t","HASerializer::HASerializer::maxEntriesNb"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType18NumberPropertyTypeE","HASerializer::NumberPropertyType"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType20ProgmemPropertyValueE","HASerializer::ProgmemPropertyValue"],[24,2,1,"_CPPv4N12HASerializer9EntryType17PropertyEntryTypeE","HASerializer::PropertyEntryType"],[24,1,1,"_CPPv4N12HASerializer17PropertyValueTypeE","HASerializer::PropertyValueType"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType17ArrayPropertyTypeE","HASerializer::PropertyValueType::ArrayPropertyType"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType16BoolPropertyTypeE","HASerializer::PropertyValueType::BoolPropertyType"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType22ConstCharPropertyValueE","HASerializer::PropertyValueType::ConstCharPropertyValue"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType18NumberPropertyTypeE","HASerializer::PropertyValueType::NumberPropertyType"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType20ProgmemPropertyValueE","HASerializer::PropertyValueType::ProgmemPropertyValue"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType24UnknownPropertyValueTypeE","HASerializer::PropertyValueType::UnknownPropertyValueType"],[24,0,1,"_CPPv4N12HASerializer15SerializerEntryE","HASerializer::SerializerEntry"],[24,3,1,"_CPPv4N12HASerializer15SerializerEntry15SerializerEntryEv","HASerializer::SerializerEntry::SerializerEntry"],[24,5,1,"_CPPv4N12HASerializer15SerializerEntry8propertyE","HASerializer::SerializerEntry::property"],[24,5,1,"_CPPv4N12HASerializer15SerializerEntry7subtypeE","HASerializer::SerializerEntry::subtype"],[24,5,1,"_CPPv4N12HASerializer15SerializerEntry4typeE","HASerializer::SerializerEntry::type"],[24,5,1,"_CPPv4N12HASerializer15SerializerEntry5valueE","HASerializer::SerializerEntry::value"],[24,2,1,"_CPPv4N12HASerializer9EntryType14TopicEntryTypeE","HASerializer::TopicEntryType"],[24,2,1,"_CPPv4N12HASerializer9EntryType16UnknownEntryTypeE","HASerializer::UnknownEntryType"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType24UnknownPropertyValueTypeE","HASerializer::UnknownPropertyValueType"],[24,2,1,"_CPPv4N12HASerializer8FlagType16WithAvailabilityE","HASerializer::WithAvailability"],[24,2,1,"_CPPv4N12HASerializer8FlagType10WithDeviceE","HASerializer::WithDevice"],[24,2,1,"_CPPv4N12HASerializer8FlagType12WithUniqueIdE","HASerializer::WithUniqueId"],[24,5,1,"_CPPv4N12HASerializer11_deviceTypeE","HASerializer::_deviceType"],[24,5,1,"_CPPv4N12HASerializer8_entriesE","HASerializer::_entries"],[24,5,1,"_CPPv4N12HASerializer10_entriesNbE","HASerializer::_entriesNb"],[24,5,1,"_CPPv4N12HASerializer13_maxEntriesNbE","HASerializer::_maxEntriesNb"],[24,3,1,"_CPPv4N12HASerializer8addEntryEv","HASerializer::addEntry"],[24,3,1,"_CPPv4NK12HASerializer18calculateArraySizeEPK17HASerializerArray","HASerializer::calculateArraySize"],[24,4,1,"_CPPv4NK12HASerializer18calculateArraySizeEPK17HASerializerArray","HASerializer::calculateArraySize::array"],[24,3,1,"_CPPv4N12HASerializer26calculateConfigTopicLengthEPK19__FlashStringHelperPKc","HASerializer::calculateConfigTopicLength"],[24,4,1,"_CPPv4N12HASerializer26calculateConfigTopicLengthEPK19__FlashStringHelperPKc","HASerializer::calculateConfigTopicLength::component"],[24,4,1,"_CPPv4N12HASerializer26calculateConfigTopicLengthEPK19__FlashStringHelperPKc","HASerializer::calculateConfigTopicLength::objectId"],[24,3,1,"_CPPv4N12HASerializer24calculateDataTopicLengthEPKcPK19__FlashStringHelper","HASerializer::calculateDataTopicLength"],[24,4,1,"_CPPv4N12HASerializer24calculateDataTopicLengthEPKcPK19__FlashStringHelper","HASerializer::calculateDataTopicLength::objectId"],[24,4,1,"_CPPv4N12HASerializer24calculateDataTopicLengthEPKcPK19__FlashStringHelper","HASerializer::calculateDataTopicLength::topic"],[24,3,1,"_CPPv4NK12HASerializer18calculateEntrySizeEPK15SerializerEntry","HASerializer::calculateEntrySize"],[24,4,1,"_CPPv4NK12HASerializer18calculateEntrySizeEPK15SerializerEntry","HASerializer::calculateEntrySize::entry"],[24,3,1,"_CPPv4NK12HASerializer17calculateFlagSizeEK8FlagType","HASerializer::calculateFlagSize"],[24,4,1,"_CPPv4NK12HASerializer17calculateFlagSizeEK8FlagType","HASerializer::calculateFlagSize::flag"],[24,3,1,"_CPPv4NK12HASerializer26calculatePropertyValueSizeEPK15SerializerEntry","HASerializer::calculatePropertyValueSize"],[24,4,1,"_CPPv4NK12HASerializer26calculatePropertyValueSizeEPK15SerializerEntry","HASerializer::calculatePropertyValueSize::entry"],[24,3,1,"_CPPv4NK12HASerializer13calculateSizeEv","HASerializer::calculateSize"],[24,3,1,"_CPPv4NK12HASerializer23calculateTopicEntrySizeEPK15SerializerEntry","HASerializer::calculateTopicEntrySize"],[24,4,1,"_CPPv4NK12HASerializer23calculateTopicEntrySizeEPK15SerializerEntry","HASerializer::calculateTopicEntrySize::entry"],[24,3,1,"_CPPv4N12HASerializer17compareDataTopicsEPKcPKcPK19__FlashStringHelper","HASerializer::compareDataTopics"],[24,4,1,"_CPPv4N12HASerializer17compareDataTopicsEPKcPKcPK19__FlashStringHelper","HASerializer::compareDataTopics::actualTopic"],[24,4,1,"_CPPv4N12HASerializer17compareDataTopicsEPKcPKcPK19__FlashStringHelper","HASerializer::compareDataTopics::objectId"],[24,4,1,"_CPPv4N12HASerializer17compareDataTopicsEPKcPKcPK19__FlashStringHelper","HASerializer::compareDataTopics::topic"],[24,3,1,"_CPPv4NK12HASerializer5flushEv","HASerializer::flush"],[24,3,1,"_CPPv4NK12HASerializer10flushEntryEPK15SerializerEntry","HASerializer::flushEntry"],[24,4,1,"_CPPv4NK12HASerializer10flushEntryEPK15SerializerEntry","HASerializer::flushEntry::entry"],[24,3,1,"_CPPv4NK12HASerializer15flushEntryValueEPK15SerializerEntry","HASerializer::flushEntryValue"],[24,4,1,"_CPPv4NK12HASerializer15flushEntryValueEPK15SerializerEntry","HASerializer::flushEntryValue::entry"],[24,3,1,"_CPPv4NK12HASerializer9flushFlagEPK15SerializerEntry","HASerializer::flushFlag"],[24,4,1,"_CPPv4NK12HASerializer9flushFlagEPK15SerializerEntry","HASerializer::flushFlag::entry"],[24,3,1,"_CPPv4NK12HASerializer10flushTopicEPK15SerializerEntry","HASerializer::flushTopic"],[24,4,1,"_CPPv4NK12HASerializer10flushTopicEPK15SerializerEntry","HASerializer::flushTopic::entry"],[24,3,1,"_CPPv4N12HASerializer19generateConfigTopicEPcPK19__FlashStringHelperPKc","HASerializer::generateConfigTopic"],[24,4,1,"_CPPv4N12HASerializer19generateConfigTopicEPcPK19__FlashStringHelperPKc","HASerializer::generateConfigTopic::component"],[24,4,1,"_CPPv4N12HASerializer19generateConfigTopicEPcPK19__FlashStringHelperPKc","HASerializer::generateConfigTopic::objectId"],[24,4,1,"_CPPv4N12HASerializer19generateConfigTopicEPcPK19__FlashStringHelperPKc","HASerializer::generateConfigTopic::output"],[24,3,1,"_CPPv4N12HASerializer17generateDataTopicEPcPKcPK19__FlashStringHelper","HASerializer::generateDataTopic"],[24,4,1,"_CPPv4N12HASerializer17generateDataTopicEPcPKcPK19__FlashStringHelper","HASerializer::generateDataTopic::objectId"],[24,4,1,"_CPPv4N12HASerializer17generateDataTopicEPcPKcPK19__FlashStringHelper","HASerializer::generateDataTopic::output"],[24,4,1,"_CPPv4N12HASerializer17generateDataTopicEPcPKcPK19__FlashStringHelper","HASerializer::generateDataTopic::topic"],[24,3,1,"_CPPv4NK12HASerializer10getEntriesEv","HASerializer::getEntries"],[24,3,1,"_CPPv4NK12HASerializer12getEntriesNbEv","HASerializer::getEntriesNb"],[24,3,1,"_CPPv4N12HASerializer3setEK8FlagType","HASerializer::set"],[24,3,1,"_CPPv4N12HASerializer3setEPK19__FlashStringHelperPKv17PropertyValueType","HASerializer::set"],[24,4,1,"_CPPv4N12HASerializer3setEK8FlagType","HASerializer::set::flag"],[24,4,1,"_CPPv4N12HASerializer3setEPK19__FlashStringHelperPKv17PropertyValueType","HASerializer::set::property"],[24,4,1,"_CPPv4N12HASerializer3setEPK19__FlashStringHelperPKv17PropertyValueType","HASerializer::set::value"],[24,4,1,"_CPPv4N12HASerializer3setEPK19__FlashStringHelperPKv17PropertyValueType","HASerializer::set::valueType"],[24,3,1,"_CPPv4N12HASerializer5topicEPK19__FlashStringHelper","HASerializer::topic"],[24,4,1,"_CPPv4N12HASerializer5topicEPK19__FlashStringHelper","HASerializer::topic::topic"],[24,3,1,"_CPPv4N12HASerializerD0Ev","HASerializer::~HASerializer"],[25,0,1,"_CPPv417HASerializerArray","HASerializerArray"],[25,3,1,"_CPPv4N17HASerializerArray17HASerializerArrayEK7uint8_tKb","HASerializerArray::HASerializerArray"],[25,4,1,"_CPPv4N17HASerializerArray17HASerializerArrayEK7uint8_tKb","HASerializerArray::HASerializerArray::progmemItems"],[25,4,1,"_CPPv4N17HASerializerArray17HASerializerArrayEK7uint8_tKb","HASerializerArray::HASerializerArray::size"],[25,6,1,"_CPPv4N17HASerializerArray8ItemTypeE","HASerializerArray::ItemType"],[25,5,1,"_CPPv4N17HASerializerArray6_itemsE","HASerializerArray::_items"],[25,5,1,"_CPPv4N17HASerializerArray8_itemsNbE","HASerializerArray::_itemsNb"],[25,5,1,"_CPPv4N17HASerializerArray13_progmemItemsE","HASerializerArray::_progmemItems"],[25,5,1,"_CPPv4N17HASerializerArray5_sizeE","HASerializerArray::_size"],[25,3,1,"_CPPv4N17HASerializerArray3addE8ItemType","HASerializerArray::add"],[25,4,1,"_CPPv4N17HASerializerArray3addE8ItemType","HASerializerArray::add::item"],[25,3,1,"_CPPv4NK17HASerializerArray13calculateSizeEv","HASerializerArray::calculateSize"],[25,3,1,"_CPPv4N17HASerializerArray5clearEv","HASerializerArray::clear"],[25,3,1,"_CPPv4NK17HASerializerArray7getItemEK7uint8_t","HASerializerArray::getItem"],[25,4,1,"_CPPv4NK17HASerializerArray7getItemEK7uint8_t","HASerializerArray::getItem::index"],[25,3,1,"_CPPv4NK17HASerializerArray8getItemsEv","HASerializerArray::getItems"],[25,3,1,"_CPPv4NK17HASerializerArray10getItemsNbEv","HASerializerArray::getItemsNb"],[25,3,1,"_CPPv4NK17HASerializerArray9serializeEPc","HASerializerArray::serialize"],[25,4,1,"_CPPv4NK17HASerializerArray9serializeEPc","HASerializerArray::serialize::output"],[25,3,1,"_CPPv4N17HASerializerArrayD0Ev","HASerializerArray::~HASerializerArray"],[19,0,1,"_CPPv48HASwitch","HASwitch"],[19,3,1,"_CPPv4N8HASwitch8HASwitchEPKc","HASwitch::HASwitch"],[19,4,1,"_CPPv4N8HASwitch8HASwitchEPKc","HASwitch::HASwitch::uniqueId"],[19,5,1,"_CPPv4N8HASwitch6_classE","HASwitch::_class"],[19,5,1,"_CPPv4N8HASwitch16_commandCallbackE","HASwitch::_commandCallback"],[19,5,1,"_CPPv4N8HASwitch13_currentStateE","HASwitch::_currentState"],[19,5,1,"_CPPv4N8HASwitch5_iconE","HASwitch::_icon"],[19,5,1,"_CPPv4N8HASwitch11_optimisticE","HASwitch::_optimistic"],[19,5,1,"_CPPv4N8HASwitch7_retainE","HASwitch::_retain"],[19,3,1,"_CPPv4N8HASwitch15buildSerializerEv","HASwitch::buildSerializer"],[19,3,1,"_CPPv4NK8HASwitch15getCurrentStateEv","HASwitch::getCurrentState"],[19,3,1,"_CPPv4N8HASwitch9onCommandEPFvbP8HASwitchE","HASwitch::onCommand"],[19,4,1,"_CPPv4N8HASwitch9onCommandEPFvbP8HASwitchE","HASwitch::onCommand::callback"],[19,3,1,"_CPPv4N8HASwitch15onMqttConnectedEv","HASwitch::onMqttConnected"],[19,3,1,"_CPPv4N8HASwitch13onMqttMessageEPKcPK7uint8_tK8uint16_t","HASwitch::onMqttMessage"],[19,4,1,"_CPPv4N8HASwitch13onMqttMessageEPKcPK7uint8_tK8uint16_t","HASwitch::onMqttMessage::length"],[19,4,1,"_CPPv4N8HASwitch13onMqttMessageEPKcPK7uint8_tK8uint16_t","HASwitch::onMqttMessage::payload"],[19,4,1,"_CPPv4N8HASwitch13onMqttMessageEPKcPK7uint8_tK8uint16_t","HASwitch::onMqttMessage::topic"],[19,3,1,"_CPPv4N8HASwitch12publishStateEKb","HASwitch::publishState"],[19,4,1,"_CPPv4N8HASwitch12publishStateEKb","HASwitch::publishState::state"],[19,3,1,"_CPPv4N8HASwitch15setCurrentStateEKb","HASwitch::setCurrentState"],[19,4,1,"_CPPv4N8HASwitch15setCurrentStateEKb","HASwitch::setCurrentState::state"],[19,3,1,"_CPPv4N8HASwitch14setDeviceClassEPKc","HASwitch::setDeviceClass"],[19,4,1,"_CPPv4N8HASwitch14setDeviceClassEPKc","HASwitch::setDeviceClass::deviceClass"],[19,3,1,"_CPPv4N8HASwitch7setIconEPKc","HASwitch::setIcon"],[19,4,1,"_CPPv4N8HASwitch7setIconEPKc","HASwitch::setIcon::icon"],[19,3,1,"_CPPv4N8HASwitch13setOptimisticEKb","HASwitch::setOptimistic"],[19,4,1,"_CPPv4N8HASwitch13setOptimisticEKb","HASwitch::setOptimistic::optimistic"],[19,3,1,"_CPPv4N8HASwitch9setRetainEKb","HASwitch::setRetain"],[19,4,1,"_CPPv4N8HASwitch9setRetainEKb","HASwitch::setRetain::retain"],[19,3,1,"_CPPv4N8HASwitch8setStateEKbKb","HASwitch::setState"],[19,4,1,"_CPPv4N8HASwitch8setStateEKbKb","HASwitch::setState::force"],[19,4,1,"_CPPv4N8HASwitch8setStateEKbKb","HASwitch::setState::state"],[19,3,1,"_CPPv4N8HASwitch7turnOffEv","HASwitch::turnOff"],[19,3,1,"_CPPv4N8HASwitch6turnOnEv","HASwitch::turnOn"],[20,0,1,"_CPPv412HATagScanner","HATagScanner"],[20,3,1,"_CPPv4N12HATagScanner12HATagScannerEPKc","HATagScanner::HATagScanner"],[20,4,1,"_CPPv4N12HATagScanner12HATagScannerEPKc","HATagScanner::HATagScanner::uniqueId"],[20,3,1,"_CPPv4N12HATagScanner15buildSerializerEv","HATagScanner::buildSerializer"],[20,3,1,"_CPPv4N12HATagScanner15onMqttConnectedEv","HATagScanner::onMqttConnected"],[20,3,1,"_CPPv4N12HATagScanner10tagScannedEPKc","HATagScanner::tagScanned"],[20,4,1,"_CPPv4N12HATagScanner10tagScannedEPKc","HATagScanner::tagScanned::tag"],[26,0,1,"_CPPv47HAUtils","HAUtils"],[26,3,1,"_CPPv4N7HAUtils14byteArrayToStrEPK4byteK8uint16_t","HAUtils::byteArrayToStr"],[26,3,1,"_CPPv4N7HAUtils14byteArrayToStrEPcPK4byteK8uint16_t","HAUtils::byteArrayToStr"],[26,4,1,"_CPPv4N7HAUtils14byteArrayToStrEPcPK4byteK8uint16_t","HAUtils::byteArrayToStr::dst"],[26,4,1,"_CPPv4N7HAUtils14byteArrayToStrEPK4byteK8uint16_t","HAUtils::byteArrayToStr::length"],[26,4,1,"_CPPv4N7HAUtils14byteArrayToStrEPcPK4byteK8uint16_t","HAUtils::byteArrayToStr::length"],[26,4,1,"_CPPv4N7HAUtils14byteArrayToStrEPK4byteK8uint16_t","HAUtils::byteArrayToStr::src"],[26,4,1,"_CPPv4N7HAUtils14byteArrayToStrEPcPK4byteK8uint16_t","HAUtils::byteArrayToStr::src"],[26,3,1,"_CPPv4N7HAUtils8endsWithEPKcPKc","HAUtils::endsWith"],[26,4,1,"_CPPv4N7HAUtils8endsWithEPKcPKc","HAUtils::endsWith::str"],[26,4,1,"_CPPv4N7HAUtils8endsWithEPKcPKc","HAUtils::endsWith::suffix"]]},objnames:{"0":["cpp","class","C++ class"],"1":["cpp","enum","C++ enum"],"2":["cpp","enumerator","C++ enumerator"],"3":["cpp","function","C++ function"],"4":["cpp","functionParam","C++ function parameter"],"5":["cpp","member","C++ member"],"6":["cpp","type","C++ type"]},objtypes:{"0":"cpp:class","1":"cpp:enum","2":"cpp:enumerator","3":"cpp:function","4":"cpp:functionParam","5":"cpp:member","6":"cpp:type"},terms:{"0":[3,7,10,12,14,31,36,41],"001":14,"0010fa6e384a":37,"0010fa6e384a_myvalv":37,"01":[28,37],"0x00":[33,35,36,37,38,40,41,42],"0x05":36,"0x10":[33,35,36,37,38,40,41,42],"0x1f":36,"0x38":[33,35,36,37,38,40,41,42],"0x4a":[33,35,36,37,38,40,41,42],"0x6e":[33,35,36,37,38,40,41,42],"0x8c":36,"0x9f":36,"0xb4":36,"0xbe":36,"0xc6":36,"0xc7":36,"0xce":36,"0xfa":[33,35,36,37,38,40,41,42],"1":[10,11,16,23,31,35,40,41,42],"10":23,"100":[7,10,42],"123":[23,36],"1234":[23,36],"15":1,"153":12,"168":[35,36,40,41,42],"1883":[1,35],"192":[35,36,40,41,42],"2":[26,31,33],"24":[1,37],"255":12,"32768":7,"33":[28,29],"4":23,"40":37,"5":33,"50":[35,40,41,42],"500":[12,40],"5000":1,"55":36,"5m":1,"6":[31,37],"8":31,"8888":35,"break":37,"byte":[0,1,23,26,33,35,37,38,40,41,42],"case":[1,33,38],"char":[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26,38,41],"class":[2,21,22,27,28,34,35,36,37,38,40,41,43],"const":[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26,38,41],"default":[1,4,6,7,8,10,11,12,13,14,16,17,18,19,23,32,33,35,37,38,42],"do":1,"enum":[3,6,7,8,9,10,11,12,13,14,17,24],"final":[0,17],"float":[11,14,18,23],"function":[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26],"long":[17,28,33,42],"new":[1,3,4,7,8,10,11,12,13,14,15,16,18,19,24,25,26,30,37],"null":[0,1,16,23,25],"public":[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26],"return":[0,1,3,4,6,7,8,9,10,11,12,13,14,16,17,18,19,20,23,24,25,26],"short":[0,3,36],"static":[1,3,7,11,12,23,24,25,26],"switch":[1,9,19,28,29,33,36,37,38],"true":[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,25,26,33,41],"try":[1,28,36],"void":[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26,33,35,36,37,38,40,41,42],"while":[37,40],A:[16,29],By:[1,4,6,7,8,10,11,12,13,14,16,17,18,19,33,37,42],For:[9,14,16,17,23,31,33],If:[0,1,5,7,8,9,10,11,12,13,14,15,16,17,19,23,24,25,30,31],In:[1,7,10,12,13,14,16,19,33,38],It:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25,28,34,40],Its:[24,37],No:3,OR:12,On:[37,42],One:3,THe:[3,18],That:[33,38],The:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,28,29,31,32,33,34,35,36,37,38,41,42,43],Then:31,There:[31,33,36,38],These:37,To:[31,34,37],Will:[29,43],With:36,_:24,__flashstringhelp:[1,3,6,8,11,14,24],_action:11,_auxcallback:11,_auxstat:11,_avail:[0,3],_availabilitytop:0,_brightnesscallback:12,_brightnessscal:12,_class:[4,5,7,14,19],_colortemperaturecallback:12,_commandcallback:[5,7,13,14,15,16,19],_componentnam:3,_connectedcallback:1,_currentbright:12,_currentcolortemperatur:12,_currentposit:7,_currentrgbcolor:12,_currentspe:10,_currentst:[4,7,8,10,12,13,14,16,19],_currenttemperatur:11,_currentvalu:18,_dataprefix:1,_devic:1,_deviceclass:17,_devicestyp:1,_devicestypesnb:1,_devicetyp:24,_discoveryprefix:1,_encod:6,_entri:24,_entriesnb:24,_expireaft:[4,17],_extendeduniqueid:0,_fanmod:11,_fanmodecallback:11,_fanmodesseri:11,_featur:[7,10,11,12,17],_forceupd:17,_icon:[4,5,6,7,8,10,11,12,13,14,15,16,17,19],_initi:1,_instanc:1,_isprogmemsubtyp:9,_isprogmemtyp:9,_isset:23,_item:25,_itemsnb:25,_lastconnectionattemptat:1,_lastwillmessag:1,_lastwillretain:1,_lastwilltop:1,_maxdevicestypesnb:1,_maxentriesnb:24,_maxmir:12,_maxtemp:11,_maxvalu:14,_messagecallback:1,_minmir:12,_mintemp:11,_minvalu:14,_mode:[11,14],_modecallback:11,_modesseri:11,_mqtt:1,_name:3,_optimist:[7,10,12,13,14,16,19],_option:16,_ownsuniqueid:0,_password:1,_powercallback:11,_precis:[11,14,18,23],_progmemitem:25,_retain:[5,7,10,11,12,13,14,15,16,19],_rgbcolorcallback:12,_serial:[0,3],_sharedavail:0,_size:25,_sourcetyp:8,_speedcallback:10,_speedrangemax:10,_speedrangemin:10,_statecallback:[10,12],_stateclass:17,_step:14,_subtyp:9,_swingmod:11,_swingmodecallback:11,_swingmodesseri:11,_targettemperatur:11,_targettemperaturecallback:11,_temperatureunit:11,_tempstep:11,_type:9,_uniqueid:[0,3],_unitofmeasur:[14,17],_usernam:1,_valu:23,abc:36,about:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],abov:[11,14,18,37],accept:[11,14,18,36],access:[37,42],acquir:[0,1,3,4,7,8,10,11,12,13,14,16,18,19,38,42],across:[23,37],act:32,action:[9,11],actionfeatur:11,activ:15,actual:24,actualtop:24,ad:[10,12,23,24,25,29,43],add:[1,14,15,16,24,25,31,40],adddevicetyp:1,addentri:24,addon:32,address:[1,36,37],admin:1,advanc:[29,31,39,43],advis:[36,37],after:[1,3,4,17,32,38,40],against:42,aha:[1,38],alarm:37,alia:[10,12,19],aliv:1,all:[0,1,3,30,32,33,35,36,38,39],alloc:[0,9,11,24,25,26],allow:[4,6,7,8,9,10,12,13,17,18,19,20,24,29,33,35,36,39,41,42,43],alphanumer:36,alreadi:40,also:[1,3,33,35,41,42],alter:37,alwai:[1,3],amount:[1,16,37],an:[0,1,6,11,14,18,23,29,31,32,36,37,41,43],analog:29,analyz:42,ani:[0,1,3,4,5,6,7,8,10,11,12,13,14,15,16,17,19,28,36,37],anonym:1,anoth:40,anoym:35,anyth:30,api:[1,28,36,37,43],appear:[36,37],appli:14,applic:40,approach:[24,31,36],ar:[1,16,25,31,34,36,37,38,40],arduino:[5,28,29,30,37,39,42,43],arduinoha:[30,32,33,35,36,37,38,40,41,42],arduinoha_debug:34,arduinohadefin:34,argument:[11,14,18],aris:37,arrai:[0,1,11,16,24,25,26],arraypropertytyp:24,assign:[0,1,3,9,37],assist:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,29,31,32,33,34,36,37,38,42,43],asynchron:35,atmega168:37,atmega328p:37,attemp:1,attempt:[1,35],attribut:[1,3,7,11,12,17,23],aunit:43,authent:1,auto:43,autofanmod:11,autom:[9,20,37],automat:[1,33,37,38,43],automod:11,aux:11,auxheatingfeatur:11,avail:[0,1,3,4,5,7,8,11,13,14,16,17,19,24,28,29,31,39,43],availabilitydefault:3,availabilityofflin:3,availabilityonlin:3,avoid:37,b:[12,16],back:[7,10,11,12,13,14,16,19],base64:6,base:[0,9,16,20,23,25,37,43],basic:[28,29,33,38,39,40],becaus:[33,38,42],becom:33,bedroom:36,been:[4,6,7,8,9,10,11,12,13,14,16,17,18,19,20,25],befor:[1,4,7,8,10,11,12,13,14,16,18,19,24,40],begin:[1,33,35,37,40,41,42],beginpublish:1,behavior:37,being:24,belong:3,below:[24,33,34,35,37,41],best:[31,36],better:3,between:[1,37,42],binari:[4,6,29,37],binary_sensor:[3,4,24],bind:41,bitwis:12,blind:7,blue:12,bluetooth:8,board:[37,43],boilerpl:[39,43],bool:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26,33],boolpropertytyp:24,boot:1,box:14,bridg:1,bright:[12,29],brightnessfeatur:12,broker:[0,1,4,7,8,10,11,12,13,14,16,18,19,24,29,32,33,35,38,40,41,42,43],brokker:32,btn0:9,bu:6,buffer:[23,24],build:[3,9,31],buildseri:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20],builduniqueid:9,built:[3,9],busi:40,button1subtyp:9,button2subtyp:9,button3subtyp:9,button4subtyp:9,button5subtyp:9,button6subtyp:9,button:[4,5,7,10,11,12,16,19,29,33,37],buttondoublepresstyp:9,buttonlongpresstyp:9,buttonlongreleasetyp:9,buttonquadruplepresstyp:9,buttonquintuplepresstyp:9,buttonshortpresstyp:9,buttonshortreleasetyp:9,buttontriplepresstyp:9,bytearraytostr:26,c:[14,16,17],calcul:[9,23,24,25],calculatearrays:24,calculateconfigtopiclength:24,calculatedatatopiclength:24,calculateentrys:24,calculateflags:24,calculateids:9,calculatepropertyvalues:24,calculates:[23,24,25],calculatetopicentrys:24,call:[0,1,3,5,7,8,10,11,12,13,14,15,16,17,19,24,33,35,40,41],callback:[1,5,7,10,11,12,13,14,15,16,19,39,43],cam:[6,28,29],camera:[6,29,37],can:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,31,33,34,35,36,37,38,40,41,42],cannot:37,capabl:33,care:[33,38],cd:31,celsiusunit:11,central:1,certain:37,chang:[1,4,7,8,10,11,12,13,14,16,18,19,29,33,37,38],chapter:[39,40],charact:[23,36],check:[24,26],checkout:31,child:37,chip:36,choos:36,clear:[25,37],click:[5,7,9,31],client:[1,28,33,35,37,38,40,41,42],climat:11,clone:36,close:[1,29],cmd:[7,10,11,12,13,14],code:[39,40,43],codebas:37,color:[12,29],colortemp:12,colortemperaturefeatur:12,com:[4,5,6,7,8,10,11,12,13,14,15,16,17,19,31],combin:9,come:40,command:[5,7,10,11,12,13,14,15,16,19,43],commandclos:7,commandlock:13,commandopen:[7,13],commandstop:7,commandunlock:13,commun:[1,32,34,42,43],compar:[4,7,8,10,11,12,13,14,16,18,19,24],comparedatatop:24,compat:[30,43],compil:[31,39,43],complet:[28,33],compon:[3,24],componentnam:3,config:24,configur:[0,1,3,24,38,39,42,43],conflict:37,confus:37,connect:[0,1,3,4,7,8,10,11,12,13,14,16,18,19,29,33,38,39,40,41,43],connecttoserv:1,consequ:37,consid:[33,42],constcharpropertyvalu:24,construct:[0,1,25,38],constructor:[0,1,3,9,11,37],contact:29,contain:[11,16,23,26],content:[1,6,36],control:[7,10,11,12,13,14,29,33,36,37],controllino:28,conveni:[11,14,18],convert:[0,23,26],coolingact:11,coolmod:11,copi:36,core:[17,22,28,39,43],corp:36,correspond:[34,36],could:37,count:16,countoptionsinstr:16,coupl:34,cover:[7,16,29,37,40,43],covercommand:7,coverst:7,creat:[1,3,9,14,23,24,37,38],credenti:[29,35,40,42],crucial:37,current:[0,3,4,7,8,10,11,12,13,14,16,18,19],curtain:28,custom:[8,9,13,29,41,42,43],custompayload:41,customtop:41,cut:33,cycl:[1,35],dashboard:37,data:[1,3,6,7,10,11,12,13,14,17,24,38,40],databas:37,dawidchyrzynski:31,debug:[39,43],decim:[3,23],defaultfanmod:11,defaultfeatur:[7,10,11,12,17,18],defaultmod:11,defaultposit:7,defaultswingmod:11,defaultunit:11,defin:[3,4,14,17,20,34,37],delai:40,delet:0,depend:31,describ:[37,39,40],descript:29,deseri:23,design:43,desir:[9,25,37],destin:[23,26],destroi:[1,3],destroyseri:3,determin:[10,24],determineprogmemsubtyp:9,determineprogmemtyp:9,develop:[17,36],devic:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,24,28,29,31,32,34,35,38,39,40,41,42,43],device_track:8,device_trigg:9,deviceclass:[4,5,7,14,17,19],devicetyp:[1,24],differ:[11,14,18,23],digit:[3,23],directli:34,disabl:[7,10,11,12,13,14,16,19,33],disconnect:1,discov:[37,42],discover:29,discoveri:[1,3,24,29,39,43],discuss:30,displai:[0,5,6,14,17,18,19,29,33],distinct:[36,37],doc:17,document:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,30,31,37,40],doe:37,doesn:[1,7,10,12,13,14,16,17,19,25,40],don:[30,40],door:[7,13,29],doxygen:43,dropdown:[16,29,31],dryingact:11,drymod:11,dst:[23,26],dual:28,dure:35,dynam:[24,25],e:[3,6,16,17,24,33],each:[0,1,3,5,7,10,11,12,13,14,16,17,19,26,33,36,37,38,40,41],easier:26,easili:[24,33,42],element:25,emploi:37,empti:[1,23],enabl:[0,1,3,7,10,11,12,13,14,16,17,18,19,33,34,36,37],enableextendeduniqueid:[0,37],enablelastwil:[0,1,33],enablesharedavail:[0,33],encod:6,encodingbase64:6,encodingbinari:6,encrypt:42,end:[23,26,35,40],endpublish:1,endswith:26,entir:[33,37],entiti:[0,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,29,36,39,43],entri:24,entrytyp:24,enumer:[3,6,7,8,9,10,11,12,13,14,17,24],environ:31,epoxyduino:43,equip:6,esp32:[6,28,29,31,39,42,43],esp8255:43,esp8266:[29,31,39,42,43],esp8266wifi:40,esp:[5,28,37,42,43],essenti:36,establish:[1,29,35,41,42],etc:[0,1,33,38],ethernet:[28,33,35,36,37,38,40,41,42,43],ethernetcli:[1,33,35,37,38,40,41,42],even:33,event:[9,20,37],ever:1,everi:36,everyth:40,ex_arduinoha_binary_sensor:34,ex_arduinoha_button:34,ex_arduinoha_camera:34,ex_arduinoha_cov:34,ex_arduinoha_device_track:34,ex_arduinoha_device_trigg:34,ex_arduinoha_fan:34,ex_arduinoha_hvac:34,ex_arduinoha_light:34,ex_arduinoha_lock:34,ex_arduinoha_numb:34,ex_arduinoha_scen:34,ex_arduinoha_select:34,ex_arduinoha_sensor:34,ex_arduinoha_switch:34,ex_arduinoha_tag_scann:34,exampl:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,23,30,33,34,35,41,42,43],except:36,execut:[7,10,11,12,13,14,43],exist:[1,3,25],expect:[6,23],expir:[4,17],expireaft:[4,17],explicit:[1,23],expos:[33,35,36,37,41],extend:[0,37],extra:[23,31,32],fahrenheitunit:11,fals:[1,3,4,7,8,10,11,12,13,14,16,18,19,33],famili:29,fan:[7,10,11,29,37,38],fanact:11,fanfeatur:11,fanmod:11,fanonlymod:11,featur:[0,3,7,10,11,12,17,18,30,33,34,37,39],feel:30,few:[35,40],fi:[28,36],field:[31,37],file:34,find:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,26],fine:[28,42],finish:1,fire:1,firmwar:1,first:[0,1,37],flag:[5,7,10,11,12,13,14,15,16,17,19,24,34],flagentrytyp:24,flagtyp:24,flash:[3,9,25,33,34,36,37,43],flush:24,flushentri:24,flushentryvalu:24,flushflag:24,flushtop:24,follow:[3,24,31,33,37,38,40],forc:[4,7,8,10,11,12,13,14,16,17,18,19],forceupd:17,formula:23,foundat:39,free:[9,11,24],friend:3,friendli:37,from:[1,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,23,29,31],frombuff:12,fromstr:23,full:39,fun:30,g:[3,6,12,16,17,24],garag:7,gener:[0,23,24,37],generateconfigtop:24,generatedatatop:24,get:[3,16,32,43],getavailabilitytop:0,getbasevalu:23,getcommandtempl:14,getcommandwithfloattempl:11,getcurrentact:11,getcurrentauxst:11,getcurrentbright:12,getcurrentcolortemperatur:12,getcurrentfanmod:11,getcurrentmod:11,getcurrentopt:16,getcurrentposit:7,getcurrentrgbcolor:12,getcurrentspe:10,getcurrentst:[4,7,10,12,13,14,16,19],getcurrentswingmod:11,getcurrenttargettemperatur:11,getcurrenttemperatur:11,getcurrentvalu:18,getdataprefix:1,getdevic:1,getdiscoveryprefix:1,getencodingproperti:6,getentri:24,getentriesnb:24,getitem:25,getitemsnb:25,getmodeproperti:14,getnam:3,getprecis:23,getprecisionbas:23,getseri:0,getsourcetypeproperti:8,getstat:8,getsubtyp:9,gettyp:9,getuniqueid:0,git:31,github:[10,12,30,31],given:[0,1,3,4,6,7,8,9,10,11,12,13,14,16,17,18,19,23,24,25,26,37],global:40,go:[0,1,24,25,32,40],goe:[37,40],gp:8,graph:17,grasp:37,greater:23,green:12,group:36,guid:30,h:[33,34,35,36,37,38,40,41,42],ha:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25,32,33,36,37],habasedevicetyp:[1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,22,24,43],habinarysensor:[0,1,3,21,22,37,43],habutton:[3,21,22,37,43],hacamera:[3,21,22,37,43],hacov:[3,21,22,37,43],hadevic:[1,2,3,22,33,35,37,38,40,41,42,43],hadevicetrack:[3,21,22,37,43],hadevicetrigg:[3,21,22,37,43],hafan:[3,21,22,37,43],hahvac:[3,21,22,37,43],halight:[3,21,22,37,43],halock:[3,21,22,37,43],hamqtt:[0,2,3,22,33,35,37,38,40,41,42,43],handl:24,handleauxstatecommand:11,handlebrightnesscommand:12,handlecolortemperaturecommand:12,handlecommand:[7,13,14],handlefanmodecommand:11,handlemodecommand:11,handlepowercommand:11,handlergbcommand:12,handlespeedcommand:10,handlestatecommand:[10,12],handleswingmodecommand:11,handletargettemperaturecommand:11,hanumb:[3,11,21,22,37,43],hanumer:[4,10,11,12,14,17,18,22,27,43],happen:0,hardwar:[30,43],hascen:[3,21,22,37,43],haselect:[3,21,22,37,43],hasensor:[0,3,18,21,22,37,43],hasensorinteg:18,hasensornumb:[17,21,22,37,43],haseri:[0,3,22,25,27,43],haserializerarrai:[11,16,22,24,27,43],haswitch:[1,3,21,22,33,37,43],hatagscann:[3,21,22,37,43],hautil:[22,27,43],have:[17,23,30,37,40],heat:11,heater:37,heatingact:11,heatmod:11,here:[4,5,7,14,17,19,28,37,38,40],hesit:30,hex:[0,26],highfanmod:11,highli:33,histori:17,hit:[24,37],hold:29,home:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,29,31,32,33,34,36,37,38,42,43],homeassist:[1,38],hostnam:[1,35],how:[14,33],howev:[37,42],http:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,31,36],humidifi:37,hvac:[11,29,37],i:[33,43],icon:[4,5,6,7,8,10,11,12,13,14,15,16,17,19],id:[0,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,30,39,43],idea:40,identifi:[36,39,43],idleact:11,imag:6,imageencod:6,implement:[1,3,8,13,29,33,40],includ:[10,31,33,35,36,37,38,40,41,42],incom:17,incorpor:37,increas:[36,37],index:[16,25],inform:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],initi:[1,3,8,11,13,14,37,40,43],inlin:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,23,24,25],input:[16,26,36],insid:1,instal:[30,32,43],instanc:[0,1,3,14,24,32,36,37,38,40],instead:1,int16_t:[7,11,14,18,23],int32_t:[11,14,18,23],int64_t:23,int8_t:[11,14,16,18,23],integ:[17,23,29],integr:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,31,32,37,43],interact:[28,29],interfac:37,intern:[1,24,36,37,38],interv:1,introduct:[39,43],involv:37,io:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20],iot:[28,29],ip:1,ipaddress:1,isavail:0,isavailabilityconfigur:3,isconnect:1,isextendeduniqueidsen:0,isfloat:23,isint16:23,isint32:23,isint8:23,isonlin:3,isprogmemdata:3,isprogmemsubtyp:9,isprogmemtyp:9,isset:[12,23],issharedavailabilityen:0,issu:[10,12,37],isuint16:23,isuint32:23,isuint8:23,item:[24,25,37],itemp:25,itemtyp:25,its:[3,8,31,33,36],jpeg:6,json:[0,17,24,25],jsonattributesfeatur:17,just:[31,35],keep:[0,1,3,36,37],keepal:1,knolleari:31,known:[4,7,8,10,11,12,13,14,16,18,19,24],label:[3,37],last:[1,4,7,8,10,11,12,13,14,16,18,19,29,43],lastwillmessag:1,lastwillretain:1,lastwilltop:1,later:40,latest:31,lawn:37,le:8,lead:[36,37],led:29,length:[0,1,3,5,6,7,10,11,12,13,14,15,16,19,23,26,36,41],less:37,let:11,lib:31,librari:[1,10,12,23,28,30,31,33,34,36,37,38,42,43],life:26,light:[12,29,33,36,37,38],like:[1,42],limit:[24,39,43],line:[31,33],list:[4,5,7,11,14,16,17,19,24,28,34,37],live:1,local:[35,42],lock:[13,29,37],lockcommand:13,lockstat:13,log:34,logic:[3,5,35,37,40],login:42,long_press:9,look:[17,41,42],loop:[1,33,35,36,37,38,40,41,42],lost:[1,33],low:43,lower:[25,36],lowfanmod:11,lwt:[0,29,39,43],mac:[33,35,36,37,38,40,41,42],macaddress:40,macro:[39,43],made:[35,41],mai:[1,4,7,8,10,11,12,13,14,16,18,19,20,24,28,34,37,38],main:[1,24],maintain:[35,37,38,40,41],make:[26,29],makeesparduino:[30,43],makefil:[31,34],manag:[31,38],manual:33,manufactur:[0,36],match:[1,18,24],materialdesignicon:[4,5,6,7,8,10,11,12,13,14,15,16,17,19],max:[10,11,14],maxdevicestypesnb:1,maxdigitsnb:23,maxentriesnb:24,maxi:28,maximum:[1,10,11,12,14,23,24,25,37],mcu:36,mdi:[4,5,6,7,8,10,11,12,13,14,15,16,17,19,37],mdn:29,mean:[3,17],meaning:17,meant:31,measur:[14,17],mediumfanmod:11,meet:35,mega:28,member:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,23,24,25],memori:[0,3,9,11,24,25,26,34,37],menu:31,messag:[0,1,3,4,6,7,8,9,10,11,12,13,14,16,17,18,19,20,24,29,33,39,43],method:[0,1,3,4,7,8,10,11,12,13,14,16,17,18,19,23,24,26,31,32,33,35,38,40,41],mfrc522:29,might:37,millisecond:1,min:[10,11,14],mini:28,minim:[14,40],minimum:[10,11,12,14],mire:12,mix:17,mode:[7,10,11,12,13,14,16,19,29,39,43],modeauto:14,modebox:14,model:[0,36],modesfeatur:11,modeslid:14,modifi:37,modul:[6,28,29],monitor:36,more:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,31,36,42],mosquitto:[32,42],most:[16,33],movement:14,mower:37,mqtt:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,29,32,35,37,38,39,40,43],multi:29,multipl:[5,7,10,11,12,13,14,15,16,19,29,37],multipli:23,must:[10,11,12,14,16,19,36,37],my:43,mybrok:35,mycustomprefix:38,mydataprefix:38,myid:36,mynetworkssid:40,mypassword:40,myswitch:33,myswitchid:33,mytop:41,myuniqueid:[33,36],myvalv:37,name:[0,3,4,5,6,7,8,10,11,12,13,14,15,16,17,19,24,36,37],nano:[28,29],necessari:40,need:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,31,32,33,34,38,40,41],netclient:1,network:[1,28,42],never:[1,3,4,17],newli:26,nodemcu:[28,29],non:[10,12,14,16,19,41],none:0,note:[0,1,3,4,5,7,8,9,10,11,12,13,14,15,16,18,19,23,24,28,33,36,37],noth:0,nullptr:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,24],number:[0,1,4,10,11,14,17,18,23,24,25,29,37],numberprecis:[3,11,14,18],numberpropertytyp:24,numer:[10,14,18,23,29],object:[1,24,40],objectid:24,occupi:34,off:[4,10,19,33],offact:11,offlin:[0,29,33,43],offmod:11,offswingmod:11,onauxstatecommand:11,onbrightnesscommand:12,onc:[0,5,15,16,35,37,40],oncolortemperaturecommand:12,oncommand:[5,7,13,14,15,16,19],onconnect:[1,41],onconnectedlog:1,one:[1,4,7,8,10,11,12,13,14,16,18,19,31,34,35,36,38],onfanmodecommand:11,onli:[0,1,3,10,11,12,14,16,18,24,31,33,35],onlin:[0,3,29,33,43],onmessag:[1,41],onmodecommand:11,onmqttconnect:[1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],onmqttmessag:[1,3,5,7,10,11,12,13,14,15,16,19],onpowercommand:11,onrgbcolorcommand:12,onspeedcommand:10,onstatecommand:[10,12],onswingmod:11,onswingmodecommand:11,ontargettemperaturecommand:11,open:[10,12,13,24,29,30,31],oper:[12,23],optim:[39,43],optimist:[7,10,12,13,14,16,19],option:[16,36,37],order:32,other:[6,17,31,37],otherwis:0,output:[10,24,25,26],over:32,overload:[11,14,18],overrid:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],own:[0,1,24,36,37],owner:24,ownership:1,panel:[0,1,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,29,33,37,42,43],paramet:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26,36,37,39,43],pars:[7,10,11,12,13,14],part:[23,40],pass:[1,9,24],password:[1,35,40,41,42],payload:[1,3,5,7,10,11,12,13,14,15,16,19,24,41],payloadlength:1,percentag:10,perform:[1,20],period:[1,40],physic:[36,37],pick:35,piec:40,pin:29,platform:37,pleas:[0,1,3,4,5,7,8,9,10,11,12,13,14,15,16,18,19,23,24,28,31,33,36,37,41,42],plu:23,point:[1,3,9,11,14,18],pointer:[0,1,9,24,25,36],port:[1,35],posit:7,positionfeatur:7,possibl:[5,7,10,11,12,13,14,15,16,17,19,35,43],potenti:39,pow:23,power:[11,29,33,37,42],powerfeatur:11,precis:[11,14,18,23],precisionp0:[3,14,18],precisionp1:[3,11],precisionp2:3,precisionp3:3,prefix:[0,1,24,37,39,43],prerequisit:[30,43],present:[26,30,35],press:[5,9,29],preview:29,previou:[4,7,8,10,11,12,13,14,16,17,18,19],primarili:37,print:16,prior:17,privat:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,23,24,25],pro:28,process:[1,17,38],processmessag:1,processor:37,produc:[1,3,5,7,9,10,11,12,13,14,15,16,17,19,20],progmem:[1,3,6,8,9,11,14,24],progmemitem:25,progmempropertyvalu:24,project:[31,40,43],proper:[7,10,11,12,13,14,23,24],properti:[0,1,6,7,13,24,25,39,43],propertyentrytyp:24,propertyvaluetyp:24,protect:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],protocol:32,provid:[11,14,18,26,34,37,40],publish:[0,1,3,4,6,7,8,9,10,11,12,13,14,16,17,18,19,20,24,29,33,38,39,43],publishact:11,publishauxst:11,publishavail:[0,3],publishbright:12,publishcolortemperatur:12,publishconfig:3,publishcurrenttemperatur:11,publishfanmod:11,publishimag:6,publishmod:11,publishondatatop:3,publishposit:7,publishrgbcolor:12,publishspe:10,publishst:[4,7,8,10,12,13,14,16,19],publishswingmod:11,publishtargettemperatur:11,publishvalu:18,pubsub:1,pubsubcli:[1,31],pure:28,purpos:[1,24,37],push:[7,10,12,38],r2:28,r3:28,r:12,ram:[33,36,37,43],random:37,rang:10,rapidli:37,raw:6,rbb:12,re:[1,11,17,31,32,40],reach:37,reboot:37,receiv:[1,3,5,7,10,11,12,13,14,16,19,24,41],recent:16,recogn:24,recommend:[32,33,36],reconnect:[1,43],reconnectinterv:1,red:12,reduc:24,refer:[31,43],regist:[0,1,3,5,7,10,11,12,13,14,15,16,19,37,38],registri:0,relat:33,reli:[33,37,38],remov:1,replac:42,report:[3,7,8,10,11,12,13,14,16,19,29,39,43],repres:[0,1,4,5,6,8,9,10,11,14,16,23,25,26,36,37],represent:[0,9,16,17,23,24,25,26,29],requir:[33,35,36],reset:[16,23],resourc:[3,33,37,43],result:[23,34],retain:[1,3,5,7,9,10,11,12,13,14,15,16,19,41],reus:37,rfid:29,rgb:[12,29],rgbcolor:12,rgbfeatur:12,rgbstringmaxlength:12,roller:7,root:31,router:8,rule:[38,40],runtim:[33,37],s:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,24,28,29,36,37,38,39,40,42,43],safe:1,samd:29,same:[0,1,4,5,7,8,10,11,12,13,14,15,16,18,19,37,42],save:[0,3,23,26,33,34],scale:12,scan:[20,29],scanner:[20,29,37],scene:[15,29,37],scope:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,36],search:31,second:[1,4,17,31],secur:[39,43],see:[11,17,33],select:[16,29,31,37],selector:29,semicolon:16,send:20,sender:[5,7,10,11,12,13,14,15,16,19],sensor:[1,4,14,17,18,19,29,33,36,37,38],separ:[16,33],sequenc:36,serial:[0,3,11,16,24,25],serializerentri:24,serv:[36,37],serverhostnam:1,serverip:1,serverport:1,session:24,set:[0,1,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,23,24,33,35,36],setact:11,setauxst:11,setavail:[0,3,33],setbasevalu:23,setbright:12,setbrightnessscal:12,setcolortemperatur:12,setconfigurationurl:[0,36],setcurrentact:11,setcurrentauxst:11,setcurrentbright:12,setcurrentcolortemperatur:12,setcurrentcurrenttemperatur:11,setcurrentfanmod:11,setcurrentmod:11,setcurrentposit:7,setcurrentrgbcolor:12,setcurrentspe:10,setcurrentst:[4,7,8,10,12,13,14,16,19],setcurrentswingmod:11,setcurrenttargettemperatur:11,setcurrenttemperatur:11,setcurrentvalu:18,setdataprefix:[1,38],setdeviceclass:[4,5,7,14,17,19],setdiscoveryprefix:[1,38],setencod:6,setexpireaft:[4,17],setfanmod:11,setforceupd:17,seticon:[4,5,6,7,8,10,11,12,13,14,15,16,17,19,37],setjsonattribut:17,setkeepal:1,setlastwil:1,setmanufactur:[0,36],setmax:14,setmaxmir:12,setmaxtemp:11,setmin:14,setminmir:12,setmintemp:11,setmod:[11,14],setmodel:[0,36],setnam:[0,3,36,37],setopt:16,setoptimist:[7,10,12,13,14,16,19],setp:11,setposit:7,setprecis:23,setretain:[5,7,10,11,12,13,14,15,16,19],setrgbcolor:12,setsoftwarevers:[0,36],setsourcetyp:8,setspe:10,setspeedrangemax:10,setspeedrangemin:10,setstat:[4,7,8,10,12,13,14,16,19],setstateclass:17,setstep:14,setswingmod:11,settargettemperatur:11,settemperatureunit:11,settempstep:11,setter:36,setuniqueid:[0,40],setunitofmeasur:[14,17],setup:[32,33,35,37,38,40,41,42],setvalu:[17,18],share:[0,39,43],shield:43,should:[0,1,3,7,10,11,12,14,16,17,18,23,28,35,37,42],show:33,shown:33,shutter:7,simpl:[29,36,37],simplifi:23,sinc:1,singl:[24,33,37],singleton:1,siren:37,size:[9,23,24,25,26],sizeof:[33,35,36,37,38,40,41,42],sketch:31,skip:40,slider:[14,29],smallest:14,so:[0,3,10,26,32,37],softwar:[0,36],softwarevers:0,sole:37,solid:39,solut:[33,42],some:[1,5,24,26,34,38,41],sonoff:28,sourc:8,sourcetyp:8,sourcetypebluetooth:8,sourcetypebluetoothl:8,sourcetypegp:8,sourcetyperout:8,sourcetypeunknown:8,spec:36,specif:[3,33,34,37],specifi:[0,1,3,9,25,35],speed:[10,29],speed_rang:10,speed_range_min:10,speedsfeatur:10,sponsor:43,src:26,ssl:[39,43],start:[40,43],stat:17,state:[0,3,4,7,8,10,11,12,13,14,16,17,18,19,29,33,38,43],stateclass:17,stateclos:7,statehom:8,statelock:13,statenotavail:8,statenothom:8,stateopen:7,statestop:7,stateunknown:[7,8,13],stateunlock:13,statist:17,statu:40,step:[10,11,14,30],stop:29,store:[1,3,14,16,17,24,25,37],str:26,strcmp:41,stream:[1,24],string:[0,1,3,6,8,9,11,14,16,17,23,24,25,26,29],struct:[12,24],structur:24,subclass:[3,17],submodul:31,subscrib:[1,3,29,41,43],subscribetop:3,subscript:[1,39,43],subtyp:[9,24],successfulli:[4,6,7,8,9,10,11,12,13,14,16,17,18,19,20,25,43],suffix:26,suit:36,suppli:33,support:[3,9,10,11,12,28,33,34,36,39,43],swing:11,swingfeatur:11,swingmod:11,t:[1,4,7,8,10,11,12,13,14,16,17,18,19,25,30,33,40],tabl:[34,37],tag:[20,29,31,37],tagscan:20,take:[1,33,38,41,42],target:[11,29],targettemperaturefeatur:11,tcp:[1,32,33,42],teh:1,temperatur:[11,12,29],temperatureunit:11,templat:[11,14],term:17,termin:[0,23],test:[28,43],testament:[29,43],text:37,textual:17,than:[23,25],thei:11,them:[34,36],therefor:[36,37],thi:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,26,30,33,34,35,36,37,39,40,41,42],those:34,three:[3,36,37],through:[1,37],tick:40,time:[1,3,5,7,10,11,12,13,14,16,17,19,37,41],tl:42,tofloat:23,toint16:23,toint32:23,toint8:23,topic:[0,1,3,5,7,10,11,12,13,14,15,16,17,19,24,29,39,41,43],topicentrytyp:24,topicp:24,topictyp:24,tostr:23,touint16:23,touint32:23,touint8:23,track:33,tracker:[8,37],trackerst:8,traffic:[1,42],trigger:[5,9,15,29,37],triggersubtyp:9,triggertyp:9,truncat:34,turn:33,turnoff:[10,12,19],turnoffsubtyp:9,turnon:[10,12,19],turnonsubtyp:9,tuya:28,twice:0,two:[3,26,31,38,43],type:[0,1,3,6,7,8,9,10,11,12,13,14,17,22,23,24,25,31,34,36,38,39,40,43],typedef:25,ui:[14,37],uint16_t:[0,1,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,23,24,25,26,41],uint32_t:[1,11,14,18,23],uint8_t:[1,3,5,6,7,10,11,12,13,14,15,16,18,19,23,24,25,41],unattend:42,unclear:30,uncom:34,understand:[3,37,39],uniqu:[0,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,39,43],uniqueid:[0,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20],unit:[11,14,17,37,43],unitofmeasur:[14,17],unknownact:11,unknownentrytyp:24,unknownfanmod:11,unknownmod:11,unknownpropertyvaluetyp:24,unknownswingmod:11,unlik:17,unlock:[13,34],uno:[28,37,43],unsupport:9,up:[37,40],updat:[4,6,7,8,10,11,12,13,14,16,17,18,19,37],upfront:24,uptim:29,url:[0,36],us:[0,1,3,4,6,7,8,9,10,11,12,13,14,16,17,18,19,20,23,24,25,26,28,29,31,32,33,34,35,37,38,40,41,42,43],usag:36,user:[20,31,37],usernam:[1,35,40,41,42],util:[16,22,33,37,38,39,43],v2:31,vacuum:37,valu:[3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,23,24,37],valuetyp:24,valv:37,variabl:24,variant:35,verifi:[1,3,9],version:[0,31,36],via:[0,3,11,12,16,29,34],virtual:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,34],voltag:29,wa:[0,1,3,9,16,17,28,43],wai:[0,31,33,43],wait:40,wall:[9,29],want:[1,4,7,8,10,11,12,13,14,16,17,18,19,33,34],wasn:[8,11,13,14],water:37,welcom:30,were:[9,24,25],what:[11,14,17,18,40],when:[0,1,7,10,11,12,13,14,15,16,19,33,37,41],whenev:[1,38],where:[1,23,24,26],whether:[0,1,3,9,24,25,26],which:[3,28,36,37],whose:36,wi:[28,36],wifi:40,wificli:[1,40],wificlientsecur:42,window:29,withavail:24,withdevic:24,within:[10,36,37],without:[0,4,7,8,10,11,12,13,14,16,18,19,23,33],withuniqueid:24,wl_connect:40,wl_mac_addr_length:40,won:[1,4,7,8,10,11,12,13,14,16,18,19,33],work:[0,28,32,43],worri:40,wrapper:1,write:[1,24],writepayload:1,written:[1,23,24],www:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20],you:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,28,30,31,32,33,34,35,36,37,38,39,40,41,42],your:[0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,29,31,32,33,35,36,37,38,40,42],zero:23},titles:["HADevice class","HAMqtt class","Core API","HABaseDeviceType class","HABinarySensor class","HAButton class","HACamera class","HACover class","HADeviceTracker class","HADeviceTrigger class","HAFan class","HAHVAC class","HALight class","HALock class","HANumber class","HAScene class","HASelect class","HASensor class","HASensorNumber class","HASwitch class","HATagScanner class","Device types API","API reference","HANumeric class","HASerializer class","HASerializerArray class","HAUtils class","Utils API","Compatible Hardware","Examples","Getting started","Installation","Prerequisites","Availability reporting","Compiler macros","Connection parameters","Device configuration","Device types (entities)","Discovery","Library","Introduction","MQTT advanced features","MQTT security","ArduinoHA documentation"],titleterms:{"1":36,"2":36,"3":36,"byte":36,"char":36,"class":[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26],"const":36,advanc:41,api:[2,21,22,27],arduino:[31,40],arduinoha:43,arrai:36,avail:33,boilerpl:40,callback:41,code:34,compat:28,compil:34,configur:36,connect:[35,42],constructor:36,core:2,debug:34,devic:[21,33,36,37],discoveri:38,doc:43,document:43,dure:36,entiti:37,esp32:40,esp8266:40,exampl:29,featur:[41,43],get:30,habasedevicetyp:3,habinarysensor:4,habutton:5,hacamera:6,hacov:7,hadevic:[0,36],hadevicetrack:8,hadevicetrigg:9,hafan:10,hahvac:11,halight:12,halock:13,hamqtt:1,hanumb:14,hanumer:23,hardwar:28,hascen:15,haselect:16,hasensor:17,hasensornumb:18,haseri:24,haserializerarrai:25,haswitch:19,hatagscann:20,hautil:26,id:[31,36,37],identifi:37,instal:31,introduct:40,librari:39,limit:37,lwt:33,macro:34,makeesparduino:31,messag:41,method:36,mode:34,mqtt:[33,41,42],object:37,optim:34,paramet:35,prefix:38,prerequisit:32,properti:36,provid:36,publish:41,refer:22,report:33,s:33,secur:42,setuniqueid:36,setup:36,share:33,ssl:42,start:30,string:36,subscript:41,support:37,topic:38,type:[21,33,37],uniqu:[36,37],us:36,util:27}}) \ No newline at end of file +Search.setIndex({docnames:["documents/api/core/ha-device","documents/api/core/ha-mqtt","documents/api/core/index","documents/api/device-types/ha-base-device-type","documents/api/device-types/ha-binary-sensor","documents/api/device-types/ha-button","documents/api/device-types/ha-camera","documents/api/device-types/ha-cover","documents/api/device-types/ha-device-tracker","documents/api/device-types/ha-device-trigger","documents/api/device-types/ha-fan","documents/api/device-types/ha-hvac","documents/api/device-types/ha-light","documents/api/device-types/ha-lock","documents/api/device-types/ha-number","documents/api/device-types/ha-scene","documents/api/device-types/ha-select","documents/api/device-types/ha-sensor","documents/api/device-types/ha-sensor-number","documents/api/device-types/ha-switch","documents/api/device-types/ha-tag-scanner","documents/api/device-types/index","documents/api/index","documents/api/utils/ha-numeric","documents/api/utils/ha-serializer","documents/api/utils/ha-serializer-array","documents/api/utils/ha-utils","documents/api/utils/index","documents/getting-started/compatible-hardware","documents/getting-started/examples","documents/getting-started/index","documents/getting-started/installation","documents/getting-started/prerequisites","documents/library/availability-reporting","documents/library/compiler-macros","documents/library/connection-params","documents/library/device-configuration","documents/library/device-types","documents/library/discovery","documents/library/index","documents/library/introduction","documents/library/mqtt-advanced","documents/library/mqtt-security","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["documents/api/core/ha-device.rst","documents/api/core/ha-mqtt.rst","documents/api/core/index.rst","documents/api/device-types/ha-base-device-type.rst","documents/api/device-types/ha-binary-sensor.rst","documents/api/device-types/ha-button.rst","documents/api/device-types/ha-camera.rst","documents/api/device-types/ha-cover.rst","documents/api/device-types/ha-device-tracker.rst","documents/api/device-types/ha-device-trigger.rst","documents/api/device-types/ha-fan.rst","documents/api/device-types/ha-hvac.rst","documents/api/device-types/ha-light.rst","documents/api/device-types/ha-lock.rst","documents/api/device-types/ha-number.rst","documents/api/device-types/ha-scene.rst","documents/api/device-types/ha-select.rst","documents/api/device-types/ha-sensor.rst","documents/api/device-types/ha-sensor-number.rst","documents/api/device-types/ha-switch.rst","documents/api/device-types/ha-tag-scanner.rst","documents/api/device-types/index.rst","documents/api/index.rst","documents/api/utils/ha-numeric.rst","documents/api/utils/ha-serializer.rst","documents/api/utils/ha-serializer-array.rst","documents/api/utils/ha-utils.rst","documents/api/utils/index.rst","documents/getting-started/compatible-hardware.rst","documents/getting-started/examples.rst","documents/getting-started/index.rst","documents/getting-started/installation.rst","documents/getting-started/prerequisites.rst","documents/library/availability-reporting.rst","documents/library/compiler-macros.rst","documents/library/connection-params.rst","documents/library/device-configuration.rst","documents/library/device-types.rst","documents/library/discovery.rst","documents/library/index.rst","documents/library/introduction.rst","documents/library/mqtt-advanced.rst","documents/library/mqtt-security.rst","index.rst"],objects:{"":[[3,0,1,"_CPPv416HABaseDeviceType","HABaseDeviceType"],[3,1,1,"_CPPv4N16HABaseDeviceType12AvailabilityE","HABaseDeviceType::Availability"],[3,2,1,"_CPPv4N16HABaseDeviceType12Availability19AvailabilityDefaultE","HABaseDeviceType::Availability::AvailabilityDefault"],[3,2,1,"_CPPv4N16HABaseDeviceType12Availability19AvailabilityOfflineE","HABaseDeviceType::Availability::AvailabilityOffline"],[3,2,1,"_CPPv4N16HABaseDeviceType12Availability18AvailabilityOnlineE","HABaseDeviceType::Availability::AvailabilityOnline"],[3,2,1,"_CPPv4N16HABaseDeviceType12Availability19AvailabilityDefaultE","HABaseDeviceType::AvailabilityDefault"],[3,2,1,"_CPPv4N16HABaseDeviceType12Availability19AvailabilityOfflineE","HABaseDeviceType::AvailabilityOffline"],[3,2,1,"_CPPv4N16HABaseDeviceType12Availability18AvailabilityOnlineE","HABaseDeviceType::AvailabilityOnline"],[3,3,1,"_CPPv4N16HABaseDeviceType16HABaseDeviceTypeEPK19__FlashStringHelperPKc","HABaseDeviceType::HABaseDeviceType"],[3,4,1,"_CPPv4N16HABaseDeviceType16HABaseDeviceTypeEPK19__FlashStringHelperPKc","HABaseDeviceType::HABaseDeviceType::componentName"],[3,4,1,"_CPPv4N16HABaseDeviceType16HABaseDeviceTypeEPK19__FlashStringHelperPKc","HABaseDeviceType::HABaseDeviceType::uniqueId"],[3,1,1,"_CPPv4N16HABaseDeviceType15NumberPrecisionE","HABaseDeviceType::NumberPrecision"],[3,2,1,"_CPPv4N16HABaseDeviceType15NumberPrecision11PrecisionP0E","HABaseDeviceType::NumberPrecision::PrecisionP0"],[3,2,1,"_CPPv4N16HABaseDeviceType15NumberPrecision11PrecisionP1E","HABaseDeviceType::NumberPrecision::PrecisionP1"],[3,2,1,"_CPPv4N16HABaseDeviceType15NumberPrecision11PrecisionP2E","HABaseDeviceType::NumberPrecision::PrecisionP2"],[3,2,1,"_CPPv4N16HABaseDeviceType15NumberPrecision11PrecisionP3E","HABaseDeviceType::NumberPrecision::PrecisionP3"],[3,2,1,"_CPPv4N16HABaseDeviceType15NumberPrecision11PrecisionP0E","HABaseDeviceType::PrecisionP0"],[3,2,1,"_CPPv4N16HABaseDeviceType15NumberPrecision11PrecisionP1E","HABaseDeviceType::PrecisionP1"],[3,2,1,"_CPPv4N16HABaseDeviceType15NumberPrecision11PrecisionP2E","HABaseDeviceType::PrecisionP2"],[3,2,1,"_CPPv4N16HABaseDeviceType15NumberPrecision11PrecisionP3E","HABaseDeviceType::PrecisionP3"],[3,5,1,"_CPPv4N16HABaseDeviceType13_availabilityE","HABaseDeviceType::_availability"],[3,5,1,"_CPPv4N16HABaseDeviceType14_componentNameE","HABaseDeviceType::_componentName"],[3,5,1,"_CPPv4N16HABaseDeviceType5_nameE","HABaseDeviceType::_name"],[3,5,1,"_CPPv4N16HABaseDeviceType9_objectIdE","HABaseDeviceType::_objectId"],[3,5,1,"_CPPv4N16HABaseDeviceType11_serializerE","HABaseDeviceType::_serializer"],[3,5,1,"_CPPv4N16HABaseDeviceType9_uniqueIdE","HABaseDeviceType::_uniqueId"],[3,3,1,"_CPPv4N16HABaseDeviceType15buildSerializerEv","HABaseDeviceType::buildSerializer"],[3,3,1,"_CPPv4NK16HABaseDeviceType13componentNameEv","HABaseDeviceType::componentName"],[3,3,1,"_CPPv4N16HABaseDeviceType17destroySerializerEv","HABaseDeviceType::destroySerializer"],[3,3,1,"_CPPv4NK16HABaseDeviceType7getNameEv","HABaseDeviceType::getName"],[3,3,1,"_CPPv4NK16HABaseDeviceType11getObjectIdEv","HABaseDeviceType::getObjectId"],[3,3,1,"_CPPv4NK16HABaseDeviceType24isAvailabilityConfiguredEv","HABaseDeviceType::isAvailabilityConfigured"],[3,3,1,"_CPPv4NK16HABaseDeviceType8isOnlineEv","HABaseDeviceType::isOnline"],[3,3,1,"_CPPv4N16HABaseDeviceType4mqttEv","HABaseDeviceType::mqtt"],[3,3,1,"_CPPv4N16HABaseDeviceType15onMqttConnectedEv","HABaseDeviceType::onMqttConnected"],[3,3,1,"_CPPv4N16HABaseDeviceType13onMqttMessageEPKcPK7uint8_tK8uint16_t","HABaseDeviceType::onMqttMessage"],[3,4,1,"_CPPv4N16HABaseDeviceType13onMqttMessageEPKcPK7uint8_tK8uint16_t","HABaseDeviceType::onMqttMessage::length"],[3,4,1,"_CPPv4N16HABaseDeviceType13onMqttMessageEPKcPK7uint8_tK8uint16_t","HABaseDeviceType::onMqttMessage::payload"],[3,4,1,"_CPPv4N16HABaseDeviceType13onMqttMessageEPKcPK7uint8_tK8uint16_t","HABaseDeviceType::onMqttMessage::topic"],[3,3,1,"_CPPv4N16HABaseDeviceType19publishAvailabilityEv","HABaseDeviceType::publishAvailability"],[3,3,1,"_CPPv4N16HABaseDeviceType13publishConfigEv","HABaseDeviceType::publishConfig"],[3,3,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK19__FlashStringHelperb","HABaseDeviceType::publishOnDataTopic"],[3,3,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK7uint8_tK8uint16_tbb","HABaseDeviceType::publishOnDataTopic"],[3,3,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPKcb","HABaseDeviceType::publishOnDataTopic"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK7uint8_tK8uint16_tbb","HABaseDeviceType::publishOnDataTopic::isProgmemData"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK7uint8_tK8uint16_tbb","HABaseDeviceType::publishOnDataTopic::length"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK19__FlashStringHelperb","HABaseDeviceType::publishOnDataTopic::payload"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK7uint8_tK8uint16_tbb","HABaseDeviceType::publishOnDataTopic::payload"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPKcb","HABaseDeviceType::publishOnDataTopic::payload"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK19__FlashStringHelperb","HABaseDeviceType::publishOnDataTopic::retained"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK7uint8_tK8uint16_tbb","HABaseDeviceType::publishOnDataTopic::retained"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPKcb","HABaseDeviceType::publishOnDataTopic::retained"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK19__FlashStringHelperb","HABaseDeviceType::publishOnDataTopic::topic"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPK7uint8_tK8uint16_tbb","HABaseDeviceType::publishOnDataTopic::topic"],[3,4,1,"_CPPv4N16HABaseDeviceType18publishOnDataTopicEPK19__FlashStringHelperPKcb","HABaseDeviceType::publishOnDataTopic::topic"],[3,3,1,"_CPPv4N16HABaseDeviceType15setAvailabilityEb","HABaseDeviceType::setAvailability"],[3,4,1,"_CPPv4N16HABaseDeviceType15setAvailabilityEb","HABaseDeviceType::setAvailability::online"],[3,3,1,"_CPPv4N16HABaseDeviceType7setNameEPKc","HABaseDeviceType::setName"],[3,4,1,"_CPPv4N16HABaseDeviceType7setNameEPKc","HABaseDeviceType::setName::name"],[3,3,1,"_CPPv4N16HABaseDeviceType11setObjectIdEPKc","HABaseDeviceType::setObjectId"],[3,4,1,"_CPPv4N16HABaseDeviceType11setObjectIdEPKc","HABaseDeviceType::setObjectId::objectId"],[3,3,1,"_CPPv4N16HABaseDeviceType14subscribeTopicEPKcPK19__FlashStringHelper","HABaseDeviceType::subscribeTopic"],[3,4,1,"_CPPv4N16HABaseDeviceType14subscribeTopicEPKcPK19__FlashStringHelper","HABaseDeviceType::subscribeTopic::topic"],[3,4,1,"_CPPv4N16HABaseDeviceType14subscribeTopicEPKcPK19__FlashStringHelper","HABaseDeviceType::subscribeTopic::uniqueId"],[3,3,1,"_CPPv4NK16HABaseDeviceType8uniqueIdEv","HABaseDeviceType::uniqueId"],[4,0,1,"_CPPv414HABinarySensor","HABinarySensor"],[4,3,1,"_CPPv4N14HABinarySensor14HABinarySensorEPKc","HABinarySensor::HABinarySensor"],[4,4,1,"_CPPv4N14HABinarySensor14HABinarySensorEPKc","HABinarySensor::HABinarySensor::uniqueId"],[4,5,1,"_CPPv4N14HABinarySensor6_classE","HABinarySensor::_class"],[4,5,1,"_CPPv4N14HABinarySensor13_currentStateE","HABinarySensor::_currentState"],[4,5,1,"_CPPv4N14HABinarySensor12_expireAfterE","HABinarySensor::_expireAfter"],[4,5,1,"_CPPv4N14HABinarySensor5_iconE","HABinarySensor::_icon"],[4,3,1,"_CPPv4N14HABinarySensor15buildSerializerEv","HABinarySensor::buildSerializer"],[4,3,1,"_CPPv4NK14HABinarySensor15getCurrentStateEv","HABinarySensor::getCurrentState"],[4,3,1,"_CPPv4N14HABinarySensor15onMqttConnectedEv","HABinarySensor::onMqttConnected"],[4,3,1,"_CPPv4N14HABinarySensor12publishStateEb","HABinarySensor::publishState"],[4,4,1,"_CPPv4N14HABinarySensor12publishStateEb","HABinarySensor::publishState::state"],[4,3,1,"_CPPv4N14HABinarySensor15setCurrentStateEKb","HABinarySensor::setCurrentState"],[4,4,1,"_CPPv4N14HABinarySensor15setCurrentStateEKb","HABinarySensor::setCurrentState::state"],[4,3,1,"_CPPv4N14HABinarySensor14setDeviceClassEPKc","HABinarySensor::setDeviceClass"],[4,4,1,"_CPPv4N14HABinarySensor14setDeviceClassEPKc","HABinarySensor::setDeviceClass::deviceClass"],[4,3,1,"_CPPv4N14HABinarySensor14setExpireAfterE8uint16_t","HABinarySensor::setExpireAfter"],[4,4,1,"_CPPv4N14HABinarySensor14setExpireAfterE8uint16_t","HABinarySensor::setExpireAfter::expireAfter"],[4,3,1,"_CPPv4N14HABinarySensor7setIconEPKc","HABinarySensor::setIcon"],[4,4,1,"_CPPv4N14HABinarySensor7setIconEPKc","HABinarySensor::setIcon::icon"],[4,3,1,"_CPPv4N14HABinarySensor8setStateEKbKb","HABinarySensor::setState"],[4,4,1,"_CPPv4N14HABinarySensor8setStateEKbKb","HABinarySensor::setState::force"],[4,4,1,"_CPPv4N14HABinarySensor8setStateEKbKb","HABinarySensor::setState::state"],[5,0,1,"_CPPv48HAButton","HAButton"],[5,3,1,"_CPPv4N8HAButton8HAButtonEPKc","HAButton::HAButton"],[5,4,1,"_CPPv4N8HAButton8HAButtonEPKc","HAButton::HAButton::uniqueId"],[5,5,1,"_CPPv4N8HAButton6_classE","HAButton::_class"],[5,5,1,"_CPPv4N8HAButton16_commandCallbackE","HAButton::_commandCallback"],[5,5,1,"_CPPv4N8HAButton5_iconE","HAButton::_icon"],[5,5,1,"_CPPv4N8HAButton7_retainE","HAButton::_retain"],[5,3,1,"_CPPv4N8HAButton15buildSerializerEv","HAButton::buildSerializer"],[5,3,1,"_CPPv4N8HAButton9onCommandEPFvP8HAButtonE","HAButton::onCommand"],[5,4,1,"_CPPv4N8HAButton9onCommandEPFvP8HAButtonE","HAButton::onCommand::callback"],[5,3,1,"_CPPv4N8HAButton15onMqttConnectedEv","HAButton::onMqttConnected"],[5,3,1,"_CPPv4N8HAButton13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAButton::onMqttMessage"],[5,4,1,"_CPPv4N8HAButton13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAButton::onMqttMessage::length"],[5,4,1,"_CPPv4N8HAButton13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAButton::onMqttMessage::payload"],[5,4,1,"_CPPv4N8HAButton13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAButton::onMqttMessage::topic"],[5,3,1,"_CPPv4N8HAButton14setDeviceClassEPKc","HAButton::setDeviceClass"],[5,4,1,"_CPPv4N8HAButton14setDeviceClassEPKc","HAButton::setDeviceClass::deviceClass"],[5,3,1,"_CPPv4N8HAButton7setIconEPKc","HAButton::setIcon"],[5,4,1,"_CPPv4N8HAButton7setIconEPKc","HAButton::setIcon::icon"],[5,3,1,"_CPPv4N8HAButton9setRetainEKb","HAButton::setRetain"],[5,4,1,"_CPPv4N8HAButton9setRetainEKb","HAButton::setRetain::retain"],[6,0,1,"_CPPv48HACamera","HACamera"],[6,2,1,"_CPPv4N8HACamera13ImageEncoding14EncodingBase64E","HACamera::EncodingBase64"],[6,2,1,"_CPPv4N8HACamera13ImageEncoding14EncodingBinaryE","HACamera::EncodingBinary"],[6,3,1,"_CPPv4N8HACamera8HACameraEPKc","HACamera::HACamera"],[6,4,1,"_CPPv4N8HACamera8HACameraEPKc","HACamera::HACamera::uniqueId"],[6,1,1,"_CPPv4N8HACamera13ImageEncodingE","HACamera::ImageEncoding"],[6,2,1,"_CPPv4N8HACamera13ImageEncoding14EncodingBase64E","HACamera::ImageEncoding::EncodingBase64"],[6,2,1,"_CPPv4N8HACamera13ImageEncoding14EncodingBinaryE","HACamera::ImageEncoding::EncodingBinary"],[6,5,1,"_CPPv4N8HACamera9_encodingE","HACamera::_encoding"],[6,5,1,"_CPPv4N8HACamera5_iconE","HACamera::_icon"],[6,3,1,"_CPPv4N8HACamera15buildSerializerEv","HACamera::buildSerializer"],[6,3,1,"_CPPv4NK8HACamera19getEncodingPropertyEv","HACamera::getEncodingProperty"],[6,3,1,"_CPPv4N8HACamera15onMqttConnectedEv","HACamera::onMqttConnected"],[6,3,1,"_CPPv4N8HACamera12publishImageEPK7uint8_tK8uint16_t","HACamera::publishImage"],[6,4,1,"_CPPv4N8HACamera12publishImageEPK7uint8_tK8uint16_t","HACamera::publishImage::data"],[6,4,1,"_CPPv4N8HACamera12publishImageEPK7uint8_tK8uint16_t","HACamera::publishImage::length"],[6,3,1,"_CPPv4N8HACamera11setEncodingEK13ImageEncoding","HACamera::setEncoding"],[6,4,1,"_CPPv4N8HACamera11setEncodingEK13ImageEncoding","HACamera::setEncoding::encoding"],[6,3,1,"_CPPv4N8HACamera7setIconEPKc","HACamera::setIcon"],[6,4,1,"_CPPv4N8HACamera7setIconEPKc","HACamera::setIcon::icon"],[7,0,1,"_CPPv47HACover","HACover"],[7,2,1,"_CPPv4N7HACover12CoverCommand12CommandCloseE","HACover::CommandClose"],[7,2,1,"_CPPv4N7HACover12CoverCommand11CommandOpenE","HACover::CommandOpen"],[7,2,1,"_CPPv4N7HACover12CoverCommand11CommandStopE","HACover::CommandStop"],[7,1,1,"_CPPv4N7HACover12CoverCommandE","HACover::CoverCommand"],[7,2,1,"_CPPv4N7HACover12CoverCommand12CommandCloseE","HACover::CoverCommand::CommandClose"],[7,2,1,"_CPPv4N7HACover12CoverCommand11CommandOpenE","HACover::CoverCommand::CommandOpen"],[7,2,1,"_CPPv4N7HACover12CoverCommand11CommandStopE","HACover::CoverCommand::CommandStop"],[7,1,1,"_CPPv4N7HACover10CoverStateE","HACover::CoverState"],[7,2,1,"_CPPv4N7HACover10CoverState11StateClosedE","HACover::CoverState::StateClosed"],[7,2,1,"_CPPv4N7HACover10CoverState12StateClosingE","HACover::CoverState::StateClosing"],[7,2,1,"_CPPv4N7HACover10CoverState9StateOpenE","HACover::CoverState::StateOpen"],[7,2,1,"_CPPv4N7HACover10CoverState12StateOpeningE","HACover::CoverState::StateOpening"],[7,2,1,"_CPPv4N7HACover10CoverState12StateStoppedE","HACover::CoverState::StateStopped"],[7,2,1,"_CPPv4N7HACover10CoverState12StateUnknownE","HACover::CoverState::StateUnknown"],[7,2,1,"_CPPv4N7HACover8Features15DefaultFeaturesE","HACover::DefaultFeatures"],[7,5,1,"_CPPv4N7HACover15DefaultPositionE","HACover::DefaultPosition"],[7,1,1,"_CPPv4N7HACover8FeaturesE","HACover::Features"],[7,2,1,"_CPPv4N7HACover8Features15DefaultFeaturesE","HACover::Features::DefaultFeatures"],[7,2,1,"_CPPv4N7HACover8Features15PositionFeatureE","HACover::Features::PositionFeature"],[7,3,1,"_CPPv4N7HACover7HACoverEPKcK8Features","HACover::HACover"],[7,4,1,"_CPPv4N7HACover7HACoverEPKcK8Features","HACover::HACover::features"],[7,4,1,"_CPPv4N7HACover7HACoverEPKcK8Features","HACover::HACover::uniqueId"],[7,2,1,"_CPPv4N7HACover8Features15PositionFeatureE","HACover::PositionFeature"],[7,2,1,"_CPPv4N7HACover10CoverState11StateClosedE","HACover::StateClosed"],[7,2,1,"_CPPv4N7HACover10CoverState12StateClosingE","HACover::StateClosing"],[7,2,1,"_CPPv4N7HACover10CoverState9StateOpenE","HACover::StateOpen"],[7,2,1,"_CPPv4N7HACover10CoverState12StateOpeningE","HACover::StateOpening"],[7,2,1,"_CPPv4N7HACover10CoverState12StateStoppedE","HACover::StateStopped"],[7,2,1,"_CPPv4N7HACover10CoverState12StateUnknownE","HACover::StateUnknown"],[7,5,1,"_CPPv4N7HACover6_classE","HACover::_class"],[7,5,1,"_CPPv4N7HACover16_commandCallbackE","HACover::_commandCallback"],[7,5,1,"_CPPv4N7HACover16_currentPositionE","HACover::_currentPosition"],[7,5,1,"_CPPv4N7HACover13_currentStateE","HACover::_currentState"],[7,5,1,"_CPPv4N7HACover9_featuresE","HACover::_features"],[7,5,1,"_CPPv4N7HACover5_iconE","HACover::_icon"],[7,5,1,"_CPPv4N7HACover11_optimisticE","HACover::_optimistic"],[7,5,1,"_CPPv4N7HACover7_retainE","HACover::_retain"],[7,3,1,"_CPPv4N7HACover15buildSerializerEv","HACover::buildSerializer"],[7,3,1,"_CPPv4NK7HACover18getCurrentPositionEv","HACover::getCurrentPosition"],[7,3,1,"_CPPv4NK7HACover15getCurrentStateEv","HACover::getCurrentState"],[7,3,1,"_CPPv4N7HACover13handleCommandEPK7uint8_tK8uint16_t","HACover::handleCommand"],[7,4,1,"_CPPv4N7HACover13handleCommandEPK7uint8_tK8uint16_t","HACover::handleCommand::cmd"],[7,4,1,"_CPPv4N7HACover13handleCommandEPK7uint8_tK8uint16_t","HACover::handleCommand::length"],[7,3,1,"_CPPv4N7HACover9onCommandEPFv12CoverCommandP7HACoverE","HACover::onCommand"],[7,4,1,"_CPPv4N7HACover9onCommandEPFv12CoverCommandP7HACoverE","HACover::onCommand::callback"],[7,3,1,"_CPPv4N7HACover15onMqttConnectedEv","HACover::onMqttConnected"],[7,3,1,"_CPPv4N7HACover13onMqttMessageEPKcPK7uint8_tK8uint16_t","HACover::onMqttMessage"],[7,4,1,"_CPPv4N7HACover13onMqttMessageEPKcPK7uint8_tK8uint16_t","HACover::onMqttMessage::length"],[7,4,1,"_CPPv4N7HACover13onMqttMessageEPKcPK7uint8_tK8uint16_t","HACover::onMqttMessage::payload"],[7,4,1,"_CPPv4N7HACover13onMqttMessageEPKcPK7uint8_tK8uint16_t","HACover::onMqttMessage::topic"],[7,3,1,"_CPPv4N7HACover15publishPositionEK7int16_t","HACover::publishPosition"],[7,4,1,"_CPPv4N7HACover15publishPositionEK7int16_t","HACover::publishPosition::position"],[7,3,1,"_CPPv4N7HACover12publishStateEK10CoverState","HACover::publishState"],[7,4,1,"_CPPv4N7HACover12publishStateEK10CoverState","HACover::publishState::state"],[7,3,1,"_CPPv4N7HACover18setCurrentPositionEK7int16_t","HACover::setCurrentPosition"],[7,4,1,"_CPPv4N7HACover18setCurrentPositionEK7int16_t","HACover::setCurrentPosition::position"],[7,3,1,"_CPPv4N7HACover15setCurrentStateEK10CoverState","HACover::setCurrentState"],[7,4,1,"_CPPv4N7HACover15setCurrentStateEK10CoverState","HACover::setCurrentState::state"],[7,3,1,"_CPPv4N7HACover14setDeviceClassEPKc","HACover::setDeviceClass"],[7,4,1,"_CPPv4N7HACover14setDeviceClassEPKc","HACover::setDeviceClass::deviceClass"],[7,3,1,"_CPPv4N7HACover7setIconEPKc","HACover::setIcon"],[7,4,1,"_CPPv4N7HACover7setIconEPKc","HACover::setIcon::icon"],[7,3,1,"_CPPv4N7HACover13setOptimisticEKb","HACover::setOptimistic"],[7,4,1,"_CPPv4N7HACover13setOptimisticEKb","HACover::setOptimistic::optimistic"],[7,3,1,"_CPPv4N7HACover11setPositionEK7int16_tKb","HACover::setPosition"],[7,4,1,"_CPPv4N7HACover11setPositionEK7int16_tKb","HACover::setPosition::force"],[7,4,1,"_CPPv4N7HACover11setPositionEK7int16_tKb","HACover::setPosition::position"],[7,3,1,"_CPPv4N7HACover9setRetainEKb","HACover::setRetain"],[7,4,1,"_CPPv4N7HACover9setRetainEKb","HACover::setRetain::retain"],[7,3,1,"_CPPv4N7HACover8setStateEK10CoverStateKb","HACover::setState"],[7,4,1,"_CPPv4N7HACover8setStateEK10CoverStateKb","HACover::setState::force"],[7,4,1,"_CPPv4N7HACover8setStateEK10CoverStateKb","HACover::setState::state"],[0,0,1,"_CPPv48HADevice","HADevice"],[0,3,1,"_CPPv4N8HADevice8HADeviceEPK4byteK8uint16_t","HADevice::HADevice"],[0,3,1,"_CPPv4N8HADevice8HADeviceEPKc","HADevice::HADevice"],[0,3,1,"_CPPv4N8HADevice8HADeviceEv","HADevice::HADevice"],[0,4,1,"_CPPv4N8HADevice8HADeviceEPK4byteK8uint16_t","HADevice::HADevice::length"],[0,4,1,"_CPPv4N8HADevice8HADeviceEPK4byteK8uint16_t","HADevice::HADevice::uniqueId"],[0,4,1,"_CPPv4N8HADevice8HADeviceEPKc","HADevice::HADevice::uniqueId"],[0,5,1,"_CPPv4N8HADevice18_availabilityTopicE","HADevice::_availabilityTopic"],[0,5,1,"_CPPv4N8HADevice10_availableE","HADevice::_available"],[0,5,1,"_CPPv4N8HADevice18_extendedUniqueIdsE","HADevice::_extendedUniqueIds"],[0,5,1,"_CPPv4N8HADevice13_ownsUniqueIdE","HADevice::_ownsUniqueId"],[0,5,1,"_CPPv4N8HADevice11_serializerE","HADevice::_serializer"],[0,5,1,"_CPPv4N8HADevice19_sharedAvailabilityE","HADevice::_sharedAvailability"],[0,5,1,"_CPPv4N8HADevice9_uniqueIdE","HADevice::_uniqueId"],[0,3,1,"_CPPv4N8HADevice23enableExtendedUniqueIdsEv","HADevice::enableExtendedUniqueIds"],[0,3,1,"_CPPv4N8HADevice14enableLastWillEv","HADevice::enableLastWill"],[0,3,1,"_CPPv4N8HADevice24enableSharedAvailabilityEv","HADevice::enableSharedAvailability"],[0,3,1,"_CPPv4NK8HADevice20getAvailabilityTopicEv","HADevice::getAvailabilityTopic"],[0,3,1,"_CPPv4NK8HADevice13getSerializerEv","HADevice::getSerializer"],[0,3,1,"_CPPv4NK8HADevice11getUniqueIdEv","HADevice::getUniqueId"],[0,3,1,"_CPPv4NK8HADevice11isAvailableEv","HADevice::isAvailable"],[0,3,1,"_CPPv4NK8HADevice26isExtendedUniqueIdsEnabledEv","HADevice::isExtendedUniqueIdsEnabled"],[0,3,1,"_CPPv4NK8HADevice27isSharedAvailabilityEnabledEv","HADevice::isSharedAvailabilityEnabled"],[0,3,1,"_CPPv4NK8HADevice19publishAvailabilityEv","HADevice::publishAvailability"],[0,3,1,"_CPPv4N8HADevice15setAvailabilityEb","HADevice::setAvailability"],[0,4,1,"_CPPv4N8HADevice15setAvailabilityEb","HADevice::setAvailability::online"],[0,3,1,"_CPPv4N8HADevice19setConfigurationUrlEPKc","HADevice::setConfigurationUrl"],[0,4,1,"_CPPv4N8HADevice19setConfigurationUrlEPKc","HADevice::setConfigurationUrl::url"],[0,3,1,"_CPPv4N8HADevice15setManufacturerEPKc","HADevice::setManufacturer"],[0,4,1,"_CPPv4N8HADevice15setManufacturerEPKc","HADevice::setManufacturer::manufacturer"],[0,3,1,"_CPPv4N8HADevice8setModelEPKc","HADevice::setModel"],[0,4,1,"_CPPv4N8HADevice8setModelEPKc","HADevice::setModel::model"],[0,3,1,"_CPPv4N8HADevice7setNameEPKc","HADevice::setName"],[0,4,1,"_CPPv4N8HADevice7setNameEPKc","HADevice::setName::name"],[0,3,1,"_CPPv4N8HADevice18setSoftwareVersionEPKc","HADevice::setSoftwareVersion"],[0,4,1,"_CPPv4N8HADevice18setSoftwareVersionEPKc","HADevice::setSoftwareVersion::softwareVersion"],[0,3,1,"_CPPv4N8HADevice11setUniqueIdEPK4byteK8uint16_t","HADevice::setUniqueId"],[0,4,1,"_CPPv4N8HADevice11setUniqueIdEPK4byteK8uint16_t","HADevice::setUniqueId::length"],[0,4,1,"_CPPv4N8HADevice11setUniqueIdEPK4byteK8uint16_t","HADevice::setUniqueId::uniqueId"],[0,3,1,"_CPPv4N8HADeviceD0Ev","HADevice::~HADevice"],[8,0,1,"_CPPv415HADeviceTracker","HADeviceTracker"],[8,3,1,"_CPPv4N15HADeviceTracker15HADeviceTrackerEPKc","HADeviceTracker::HADeviceTracker"],[8,4,1,"_CPPv4N15HADeviceTracker15HADeviceTrackerEPKc","HADeviceTracker::HADeviceTracker::uniqueId"],[8,1,1,"_CPPv4N15HADeviceTracker10SourceTypeE","HADeviceTracker::SourceType"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType19SourceTypeBluetoothE","HADeviceTracker::SourceType::SourceTypeBluetooth"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType21SourceTypeBluetoothLEE","HADeviceTracker::SourceType::SourceTypeBluetoothLE"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType13SourceTypeGPSE","HADeviceTracker::SourceType::SourceTypeGPS"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType16SourceTypeRouterE","HADeviceTracker::SourceType::SourceTypeRouter"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType17SourceTypeUnknownE","HADeviceTracker::SourceType::SourceTypeUnknown"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType19SourceTypeBluetoothE","HADeviceTracker::SourceTypeBluetooth"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType21SourceTypeBluetoothLEE","HADeviceTracker::SourceTypeBluetoothLE"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType13SourceTypeGPSE","HADeviceTracker::SourceTypeGPS"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType16SourceTypeRouterE","HADeviceTracker::SourceTypeRouter"],[8,2,1,"_CPPv4N15HADeviceTracker10SourceType17SourceTypeUnknownE","HADeviceTracker::SourceTypeUnknown"],[8,2,1,"_CPPv4N15HADeviceTracker12TrackerState9StateHomeE","HADeviceTracker::StateHome"],[8,2,1,"_CPPv4N15HADeviceTracker12TrackerState17StateNotAvailableE","HADeviceTracker::StateNotAvailable"],[8,2,1,"_CPPv4N15HADeviceTracker12TrackerState12StateNotHomeE","HADeviceTracker::StateNotHome"],[8,2,1,"_CPPv4N15HADeviceTracker12TrackerState12StateUnknownE","HADeviceTracker::StateUnknown"],[8,1,1,"_CPPv4N15HADeviceTracker12TrackerStateE","HADeviceTracker::TrackerState"],[8,2,1,"_CPPv4N15HADeviceTracker12TrackerState9StateHomeE","HADeviceTracker::TrackerState::StateHome"],[8,2,1,"_CPPv4N15HADeviceTracker12TrackerState17StateNotAvailableE","HADeviceTracker::TrackerState::StateNotAvailable"],[8,2,1,"_CPPv4N15HADeviceTracker12TrackerState12StateNotHomeE","HADeviceTracker::TrackerState::StateNotHome"],[8,2,1,"_CPPv4N15HADeviceTracker12TrackerState12StateUnknownE","HADeviceTracker::TrackerState::StateUnknown"],[8,5,1,"_CPPv4N15HADeviceTracker13_currentStateE","HADeviceTracker::_currentState"],[8,5,1,"_CPPv4N15HADeviceTracker5_iconE","HADeviceTracker::_icon"],[8,5,1,"_CPPv4N15HADeviceTracker11_sourceTypeE","HADeviceTracker::_sourceType"],[8,3,1,"_CPPv4N15HADeviceTracker15buildSerializerEv","HADeviceTracker::buildSerializer"],[8,3,1,"_CPPv4NK15HADeviceTracker21getSourceTypePropertyEv","HADeviceTracker::getSourceTypeProperty"],[8,3,1,"_CPPv4NK15HADeviceTracker8getStateEv","HADeviceTracker::getState"],[8,3,1,"_CPPv4N15HADeviceTracker15onMqttConnectedEv","HADeviceTracker::onMqttConnected"],[8,3,1,"_CPPv4N15HADeviceTracker12publishStateE12TrackerState","HADeviceTracker::publishState"],[8,4,1,"_CPPv4N15HADeviceTracker12publishStateE12TrackerState","HADeviceTracker::publishState::state"],[8,3,1,"_CPPv4N15HADeviceTracker15setCurrentStateEK12TrackerState","HADeviceTracker::setCurrentState"],[8,4,1,"_CPPv4N15HADeviceTracker15setCurrentStateEK12TrackerState","HADeviceTracker::setCurrentState::state"],[8,3,1,"_CPPv4N15HADeviceTracker7setIconEPKc","HADeviceTracker::setIcon"],[8,4,1,"_CPPv4N15HADeviceTracker7setIconEPKc","HADeviceTracker::setIcon::icon"],[8,3,1,"_CPPv4N15HADeviceTracker13setSourceTypeEK10SourceType","HADeviceTracker::setSourceType"],[8,4,1,"_CPPv4N15HADeviceTracker13setSourceTypeEK10SourceType","HADeviceTracker::setSourceType::type"],[8,3,1,"_CPPv4N15HADeviceTracker8setStateEK12TrackerStateKb","HADeviceTracker::setState"],[8,4,1,"_CPPv4N15HADeviceTracker8setStateEK12TrackerStateKb","HADeviceTracker::setState::force"],[8,4,1,"_CPPv4N15HADeviceTracker8setStateEK12TrackerStateKb","HADeviceTracker::setState::state"],[9,0,1,"_CPPv415HADeviceTrigger","HADeviceTrigger"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button1SubtypeE","HADeviceTrigger::Button1Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button2SubtypeE","HADeviceTrigger::Button2Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button3SubtypeE","HADeviceTrigger::Button3Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button4SubtypeE","HADeviceTrigger::Button4Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button5SubtypeE","HADeviceTrigger::Button5Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button6SubtypeE","HADeviceTrigger::Button6Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType21ButtonDoublePressTypeE","HADeviceTrigger::ButtonDoublePressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType19ButtonLongPressTypeE","HADeviceTrigger::ButtonLongPressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType21ButtonLongReleaseTypeE","HADeviceTrigger::ButtonLongReleaseType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType24ButtonQuadruplePressTypeE","HADeviceTrigger::ButtonQuadruplePressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType24ButtonQuintuplePressTypeE","HADeviceTrigger::ButtonQuintuplePressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType20ButtonShortPressTypeE","HADeviceTrigger::ButtonShortPressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType22ButtonShortReleaseTypeE","HADeviceTrigger::ButtonShortReleaseType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType21ButtonTriplePressTypeE","HADeviceTrigger::ButtonTriplePressType"],[9,3,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerE11TriggerType14TriggerSubtype","HADeviceTrigger::HADeviceTrigger"],[9,3,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerE11TriggerTypePKc","HADeviceTrigger::HADeviceTrigger"],[9,3,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerEPKc14TriggerSubtype","HADeviceTrigger::HADeviceTrigger"],[9,3,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerEPKcPKc","HADeviceTrigger::HADeviceTrigger"],[9,4,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerE11TriggerType14TriggerSubtype","HADeviceTrigger::HADeviceTrigger::subtype"],[9,4,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerE11TriggerTypePKc","HADeviceTrigger::HADeviceTrigger::subtype"],[9,4,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerEPKc14TriggerSubtype","HADeviceTrigger::HADeviceTrigger::subtype"],[9,4,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerEPKcPKc","HADeviceTrigger::HADeviceTrigger::subtype"],[9,4,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerE11TriggerType14TriggerSubtype","HADeviceTrigger::HADeviceTrigger::type"],[9,4,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerE11TriggerTypePKc","HADeviceTrigger::HADeviceTrigger::type"],[9,4,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerEPKc14TriggerSubtype","HADeviceTrigger::HADeviceTrigger::type"],[9,4,1,"_CPPv4N15HADeviceTrigger15HADeviceTriggerEPKcPKc","HADeviceTrigger::HADeviceTrigger::type"],[9,1,1,"_CPPv4N15HADeviceTrigger14TriggerSubtypeE","HADeviceTrigger::TriggerSubtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button1SubtypeE","HADeviceTrigger::TriggerSubtype::Button1Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button2SubtypeE","HADeviceTrigger::TriggerSubtype::Button2Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button3SubtypeE","HADeviceTrigger::TriggerSubtype::Button3Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button4SubtypeE","HADeviceTrigger::TriggerSubtype::Button4Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button5SubtypeE","HADeviceTrigger::TriggerSubtype::Button5Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14Button6SubtypeE","HADeviceTrigger::TriggerSubtype::Button6Subtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14TurnOffSubtypeE","HADeviceTrigger::TriggerSubtype::TurnOffSubtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype13TurnOnSubtypeE","HADeviceTrigger::TriggerSubtype::TurnOnSubtype"],[9,1,1,"_CPPv4N15HADeviceTrigger11TriggerTypeE","HADeviceTrigger::TriggerType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType21ButtonDoublePressTypeE","HADeviceTrigger::TriggerType::ButtonDoublePressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType19ButtonLongPressTypeE","HADeviceTrigger::TriggerType::ButtonLongPressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType21ButtonLongReleaseTypeE","HADeviceTrigger::TriggerType::ButtonLongReleaseType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType24ButtonQuadruplePressTypeE","HADeviceTrigger::TriggerType::ButtonQuadruplePressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType24ButtonQuintuplePressTypeE","HADeviceTrigger::TriggerType::ButtonQuintuplePressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType20ButtonShortPressTypeE","HADeviceTrigger::TriggerType::ButtonShortPressType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType22ButtonShortReleaseTypeE","HADeviceTrigger::TriggerType::ButtonShortReleaseType"],[9,2,1,"_CPPv4N15HADeviceTrigger11TriggerType21ButtonTriplePressTypeE","HADeviceTrigger::TriggerType::ButtonTriplePressType"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype14TurnOffSubtypeE","HADeviceTrigger::TurnOffSubtype"],[9,2,1,"_CPPv4N15HADeviceTrigger14TriggerSubtype13TurnOnSubtypeE","HADeviceTrigger::TurnOnSubtype"],[9,5,1,"_CPPv4N15HADeviceTrigger17_isProgmemSubtypeE","HADeviceTrigger::_isProgmemSubtype"],[9,5,1,"_CPPv4N15HADeviceTrigger14_isProgmemTypeE","HADeviceTrigger::_isProgmemType"],[9,5,1,"_CPPv4N15HADeviceTrigger8_subtypeE","HADeviceTrigger::_subtype"],[9,5,1,"_CPPv4N15HADeviceTrigger5_typeE","HADeviceTrigger::_type"],[9,3,1,"_CPPv4N15HADeviceTrigger15buildSerializerEv","HADeviceTrigger::buildSerializer"],[9,3,1,"_CPPv4N15HADeviceTrigger13buildUniqueIdEv","HADeviceTrigger::buildUniqueId"],[9,3,1,"_CPPv4NK15HADeviceTrigger15calculateIdSizeEv","HADeviceTrigger::calculateIdSize"],[9,3,1,"_CPPv4NK15HADeviceTrigger23determineProgmemSubtypeE14TriggerSubtype","HADeviceTrigger::determineProgmemSubtype"],[9,4,1,"_CPPv4NK15HADeviceTrigger23determineProgmemSubtypeE14TriggerSubtype","HADeviceTrigger::determineProgmemSubtype::subtype"],[9,3,1,"_CPPv4NK15HADeviceTrigger20determineProgmemTypeE11TriggerType","HADeviceTrigger::determineProgmemType"],[9,4,1,"_CPPv4NK15HADeviceTrigger20determineProgmemTypeE11TriggerType","HADeviceTrigger::determineProgmemType::type"],[9,3,1,"_CPPv4NK15HADeviceTrigger10getSubtypeEv","HADeviceTrigger::getSubtype"],[9,3,1,"_CPPv4NK15HADeviceTrigger7getTypeEv","HADeviceTrigger::getType"],[9,3,1,"_CPPv4NK15HADeviceTrigger16isProgmemSubtypeEv","HADeviceTrigger::isProgmemSubtype"],[9,3,1,"_CPPv4NK15HADeviceTrigger13isProgmemTypeEv","HADeviceTrigger::isProgmemType"],[9,3,1,"_CPPv4N15HADeviceTrigger15onMqttConnectedEv","HADeviceTrigger::onMqttConnected"],[9,3,1,"_CPPv4N15HADeviceTrigger7triggerEv","HADeviceTrigger::trigger"],[9,3,1,"_CPPv4N15HADeviceTriggerD0Ev","HADeviceTrigger::~HADeviceTrigger"],[10,0,1,"_CPPv45HAFan","HAFan"],[10,2,1,"_CPPv4N5HAFan8Features15DefaultFeaturesE","HAFan::DefaultFeatures"],[10,1,1,"_CPPv4N5HAFan8FeaturesE","HAFan::Features"],[10,2,1,"_CPPv4N5HAFan8Features15DefaultFeaturesE","HAFan::Features::DefaultFeatures"],[10,2,1,"_CPPv4N5HAFan8Features13SpeedsFeatureE","HAFan::Features::SpeedsFeature"],[10,3,1,"_CPPv4N5HAFan5HAFanEPKcK7uint8_t","HAFan::HAFan"],[10,4,1,"_CPPv4N5HAFan5HAFanEPKcK7uint8_t","HAFan::HAFan::features"],[10,4,1,"_CPPv4N5HAFan5HAFanEPKcK7uint8_t","HAFan::HAFan::uniqueId"],[10,2,1,"_CPPv4N5HAFan8Features13SpeedsFeatureE","HAFan::SpeedsFeature"],[10,5,1,"_CPPv4N5HAFan13_currentSpeedE","HAFan::_currentSpeed"],[10,5,1,"_CPPv4N5HAFan13_currentStateE","HAFan::_currentState"],[10,5,1,"_CPPv4N5HAFan9_featuresE","HAFan::_features"],[10,5,1,"_CPPv4N5HAFan5_iconE","HAFan::_icon"],[10,5,1,"_CPPv4N5HAFan11_optimisticE","HAFan::_optimistic"],[10,5,1,"_CPPv4N5HAFan7_retainE","HAFan::_retain"],[10,5,1,"_CPPv4N5HAFan14_speedCallbackE","HAFan::_speedCallback"],[10,5,1,"_CPPv4N5HAFan14_speedRangeMaxE","HAFan::_speedRangeMax"],[10,5,1,"_CPPv4N5HAFan14_speedRangeMinE","HAFan::_speedRangeMin"],[10,5,1,"_CPPv4N5HAFan14_stateCallbackE","HAFan::_stateCallback"],[10,3,1,"_CPPv4N5HAFan15buildSerializerEv","HAFan::buildSerializer"],[10,3,1,"_CPPv4NK5HAFan15getCurrentSpeedEv","HAFan::getCurrentSpeed"],[10,3,1,"_CPPv4NK5HAFan15getCurrentStateEv","HAFan::getCurrentState"],[10,3,1,"_CPPv4N5HAFan18handleSpeedCommandEPK7uint8_tK8uint16_t","HAFan::handleSpeedCommand"],[10,4,1,"_CPPv4N5HAFan18handleSpeedCommandEPK7uint8_tK8uint16_t","HAFan::handleSpeedCommand::cmd"],[10,4,1,"_CPPv4N5HAFan18handleSpeedCommandEPK7uint8_tK8uint16_t","HAFan::handleSpeedCommand::length"],[10,3,1,"_CPPv4N5HAFan18handleStateCommandEPK7uint8_tK8uint16_t","HAFan::handleStateCommand"],[10,4,1,"_CPPv4N5HAFan18handleStateCommandEPK7uint8_tK8uint16_t","HAFan::handleStateCommand::cmd"],[10,4,1,"_CPPv4N5HAFan18handleStateCommandEPK7uint8_tK8uint16_t","HAFan::handleStateCommand::length"],[10,3,1,"_CPPv4N5HAFan15onMqttConnectedEv","HAFan::onMqttConnected"],[10,3,1,"_CPPv4N5HAFan13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAFan::onMqttMessage"],[10,4,1,"_CPPv4N5HAFan13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAFan::onMqttMessage::length"],[10,4,1,"_CPPv4N5HAFan13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAFan::onMqttMessage::payload"],[10,4,1,"_CPPv4N5HAFan13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAFan::onMqttMessage::topic"],[10,3,1,"_CPPv4N5HAFan14onSpeedCommandEPFv8uint16_tP5HAFanE","HAFan::onSpeedCommand"],[10,4,1,"_CPPv4N5HAFan14onSpeedCommandEPFv8uint16_tP5HAFanE","HAFan::onSpeedCommand::callback"],[10,3,1,"_CPPv4N5HAFan14onStateCommandEPFvbP5HAFanE","HAFan::onStateCommand"],[10,4,1,"_CPPv4N5HAFan14onStateCommandEPFvbP5HAFanE","HAFan::onStateCommand::callback"],[10,3,1,"_CPPv4N5HAFan12publishSpeedEK8uint16_t","HAFan::publishSpeed"],[10,4,1,"_CPPv4N5HAFan12publishSpeedEK8uint16_t","HAFan::publishSpeed::speed"],[10,3,1,"_CPPv4N5HAFan12publishStateEKb","HAFan::publishState"],[10,4,1,"_CPPv4N5HAFan12publishStateEKb","HAFan::publishState::state"],[10,3,1,"_CPPv4N5HAFan15setCurrentSpeedEK8uint16_t","HAFan::setCurrentSpeed"],[10,4,1,"_CPPv4N5HAFan15setCurrentSpeedEK8uint16_t","HAFan::setCurrentSpeed::speed"],[10,3,1,"_CPPv4N5HAFan15setCurrentStateEKb","HAFan::setCurrentState"],[10,4,1,"_CPPv4N5HAFan15setCurrentStateEKb","HAFan::setCurrentState::state"],[10,3,1,"_CPPv4N5HAFan7setIconEPKc","HAFan::setIcon"],[10,4,1,"_CPPv4N5HAFan7setIconEPKc","HAFan::setIcon::icon"],[10,3,1,"_CPPv4N5HAFan13setOptimisticEKb","HAFan::setOptimistic"],[10,4,1,"_CPPv4N5HAFan13setOptimisticEKb","HAFan::setOptimistic::optimistic"],[10,3,1,"_CPPv4N5HAFan9setRetainEKb","HAFan::setRetain"],[10,4,1,"_CPPv4N5HAFan9setRetainEKb","HAFan::setRetain::retain"],[10,3,1,"_CPPv4N5HAFan8setSpeedEK8uint16_tKb","HAFan::setSpeed"],[10,4,1,"_CPPv4N5HAFan8setSpeedEK8uint16_tKb","HAFan::setSpeed::force"],[10,4,1,"_CPPv4N5HAFan8setSpeedEK8uint16_tKb","HAFan::setSpeed::speed"],[10,3,1,"_CPPv4N5HAFan16setSpeedRangeMaxEK8uint16_t","HAFan::setSpeedRangeMax"],[10,4,1,"_CPPv4N5HAFan16setSpeedRangeMaxEK8uint16_t","HAFan::setSpeedRangeMax::max"],[10,3,1,"_CPPv4N5HAFan16setSpeedRangeMinEK8uint16_t","HAFan::setSpeedRangeMin"],[10,4,1,"_CPPv4N5HAFan16setSpeedRangeMinEK8uint16_t","HAFan::setSpeedRangeMin::min"],[10,3,1,"_CPPv4N5HAFan8setStateEKbKb","HAFan::setState"],[10,4,1,"_CPPv4N5HAFan8setStateEKbKb","HAFan::setState::force"],[10,4,1,"_CPPv4N5HAFan8setStateEKbKb","HAFan::setState::state"],[10,3,1,"_CPPv4N5HAFan7turnOffEv","HAFan::turnOff"],[10,3,1,"_CPPv4N5HAFan6turnOnEv","HAFan::turnOn"],[11,0,1,"_CPPv46HAHVAC","HAHVAC"],[11,1,1,"_CPPv4N6HAHVAC6ActionE","HAHVAC::Action"],[11,2,1,"_CPPv4N6HAHVAC6Action13CoolingActionE","HAHVAC::Action::CoolingAction"],[11,2,1,"_CPPv4N6HAHVAC6Action12DryingActionE","HAHVAC::Action::DryingAction"],[11,2,1,"_CPPv4N6HAHVAC6Action9FanActionE","HAHVAC::Action::FanAction"],[11,2,1,"_CPPv4N6HAHVAC6Action13HeatingActionE","HAHVAC::Action::HeatingAction"],[11,2,1,"_CPPv4N6HAHVAC6Action10IdleActionE","HAHVAC::Action::IdleAction"],[11,2,1,"_CPPv4N6HAHVAC6Action9OffActionE","HAHVAC::Action::OffAction"],[11,2,1,"_CPPv4N6HAHVAC6Action13UnknownActionE","HAHVAC::Action::UnknownAction"],[11,2,1,"_CPPv4N6HAHVAC8Features13ActionFeatureE","HAHVAC::ActionFeature"],[11,2,1,"_CPPv4N6HAHVAC7FanMode11AutoFanModeE","HAHVAC::AutoFanMode"],[11,2,1,"_CPPv4N6HAHVAC4Mode8AutoModeE","HAHVAC::AutoMode"],[11,2,1,"_CPPv4N6HAHVAC8Features17AuxHeatingFeatureE","HAHVAC::AuxHeatingFeature"],[11,2,1,"_CPPv4N6HAHVAC15TemperatureUnit11CelsiusUnitE","HAHVAC::CelsiusUnit"],[11,2,1,"_CPPv4N6HAHVAC4Mode8CoolModeE","HAHVAC::CoolMode"],[11,2,1,"_CPPv4N6HAHVAC6Action13CoolingActionE","HAHVAC::CoolingAction"],[11,5,1,"_CPPv4N6HAHVAC15DefaultFanModesE","HAHVAC::DefaultFanModes"],[11,2,1,"_CPPv4N6HAHVAC8Features15DefaultFeaturesE","HAHVAC::DefaultFeatures"],[11,5,1,"_CPPv4N6HAHVAC12DefaultModesE","HAHVAC::DefaultModes"],[11,5,1,"_CPPv4N6HAHVAC17DefaultSwingModesE","HAHVAC::DefaultSwingModes"],[11,2,1,"_CPPv4N6HAHVAC15TemperatureUnit11DefaultUnitE","HAHVAC::DefaultUnit"],[11,2,1,"_CPPv4N6HAHVAC4Mode7DryModeE","HAHVAC::DryMode"],[11,2,1,"_CPPv4N6HAHVAC6Action12DryingActionE","HAHVAC::DryingAction"],[11,2,1,"_CPPv4N6HAHVAC15TemperatureUnit14FahrenheitUnitE","HAHVAC::FahrenheitUnit"],[11,2,1,"_CPPv4N6HAHVAC6Action9FanActionE","HAHVAC::FanAction"],[11,2,1,"_CPPv4N6HAHVAC8Features10FanFeatureE","HAHVAC::FanFeature"],[11,1,1,"_CPPv4N6HAHVAC7FanModeE","HAHVAC::FanMode"],[11,2,1,"_CPPv4N6HAHVAC7FanMode11AutoFanModeE","HAHVAC::FanMode::AutoFanMode"],[11,2,1,"_CPPv4N6HAHVAC7FanMode11HighFanModeE","HAHVAC::FanMode::HighFanMode"],[11,2,1,"_CPPv4N6HAHVAC7FanMode10LowFanModeE","HAHVAC::FanMode::LowFanMode"],[11,2,1,"_CPPv4N6HAHVAC7FanMode13MediumFanModeE","HAHVAC::FanMode::MediumFanMode"],[11,2,1,"_CPPv4N6HAHVAC7FanMode14UnknownFanModeE","HAHVAC::FanMode::UnknownFanMode"],[11,2,1,"_CPPv4N6HAHVAC4Mode11FanOnlyModeE","HAHVAC::FanOnlyMode"],[11,1,1,"_CPPv4N6HAHVAC8FeaturesE","HAHVAC::Features"],[11,2,1,"_CPPv4N6HAHVAC8Features13ActionFeatureE","HAHVAC::Features::ActionFeature"],[11,2,1,"_CPPv4N6HAHVAC8Features17AuxHeatingFeatureE","HAHVAC::Features::AuxHeatingFeature"],[11,2,1,"_CPPv4N6HAHVAC8Features15DefaultFeaturesE","HAHVAC::Features::DefaultFeatures"],[11,2,1,"_CPPv4N6HAHVAC8Features10FanFeatureE","HAHVAC::Features::FanFeature"],[11,2,1,"_CPPv4N6HAHVAC8Features12ModesFeatureE","HAHVAC::Features::ModesFeature"],[11,2,1,"_CPPv4N6HAHVAC8Features12PowerFeatureE","HAHVAC::Features::PowerFeature"],[11,2,1,"_CPPv4N6HAHVAC8Features12SwingFeatureE","HAHVAC::Features::SwingFeature"],[11,2,1,"_CPPv4N6HAHVAC8Features24TargetTemperatureFeatureE","HAHVAC::Features::TargetTemperatureFeature"],[11,3,1,"_CPPv4N6HAHVAC6HAHVACEPKcK8uint16_tK15NumberPrecision","HAHVAC::HAHVAC"],[11,4,1,"_CPPv4N6HAHVAC6HAHVACEPKcK8uint16_tK15NumberPrecision","HAHVAC::HAHVAC::features"],[11,4,1,"_CPPv4N6HAHVAC6HAHVACEPKcK8uint16_tK15NumberPrecision","HAHVAC::HAHVAC::precision"],[11,4,1,"_CPPv4N6HAHVAC6HAHVACEPKcK8uint16_tK15NumberPrecision","HAHVAC::HAHVAC::uniqueId"],[11,2,1,"_CPPv4N6HAHVAC4Mode8HeatModeE","HAHVAC::HeatMode"],[11,2,1,"_CPPv4N6HAHVAC6Action13HeatingActionE","HAHVAC::HeatingAction"],[11,2,1,"_CPPv4N6HAHVAC7FanMode11HighFanModeE","HAHVAC::HighFanMode"],[11,2,1,"_CPPv4N6HAHVAC6Action10IdleActionE","HAHVAC::IdleAction"],[11,2,1,"_CPPv4N6HAHVAC7FanMode10LowFanModeE","HAHVAC::LowFanMode"],[11,2,1,"_CPPv4N6HAHVAC7FanMode13MediumFanModeE","HAHVAC::MediumFanMode"],[11,1,1,"_CPPv4N6HAHVAC4ModeE","HAHVAC::Mode"],[11,2,1,"_CPPv4N6HAHVAC4Mode8AutoModeE","HAHVAC::Mode::AutoMode"],[11,2,1,"_CPPv4N6HAHVAC4Mode8CoolModeE","HAHVAC::Mode::CoolMode"],[11,2,1,"_CPPv4N6HAHVAC4Mode7DryModeE","HAHVAC::Mode::DryMode"],[11,2,1,"_CPPv4N6HAHVAC4Mode11FanOnlyModeE","HAHVAC::Mode::FanOnlyMode"],[11,2,1,"_CPPv4N6HAHVAC4Mode8HeatModeE","HAHVAC::Mode::HeatMode"],[11,2,1,"_CPPv4N6HAHVAC4Mode7OffModeE","HAHVAC::Mode::OffMode"],[11,2,1,"_CPPv4N6HAHVAC4Mode11UnknownModeE","HAHVAC::Mode::UnknownMode"],[11,2,1,"_CPPv4N6HAHVAC8Features12ModesFeatureE","HAHVAC::ModesFeature"],[11,2,1,"_CPPv4N6HAHVAC6Action9OffActionE","HAHVAC::OffAction"],[11,2,1,"_CPPv4N6HAHVAC4Mode7OffModeE","HAHVAC::OffMode"],[11,2,1,"_CPPv4N6HAHVAC9SwingMode12OffSwingModeE","HAHVAC::OffSwingMode"],[11,2,1,"_CPPv4N6HAHVAC9SwingMode11OnSwingModeE","HAHVAC::OnSwingMode"],[11,2,1,"_CPPv4N6HAHVAC8Features12PowerFeatureE","HAHVAC::PowerFeature"],[11,2,1,"_CPPv4N6HAHVAC8Features12SwingFeatureE","HAHVAC::SwingFeature"],[11,1,1,"_CPPv4N6HAHVAC9SwingModeE","HAHVAC::SwingMode"],[11,2,1,"_CPPv4N6HAHVAC9SwingMode12OffSwingModeE","HAHVAC::SwingMode::OffSwingMode"],[11,2,1,"_CPPv4N6HAHVAC9SwingMode11OnSwingModeE","HAHVAC::SwingMode::OnSwingMode"],[11,2,1,"_CPPv4N6HAHVAC9SwingMode16UnknownSwingModeE","HAHVAC::SwingMode::UnknownSwingMode"],[11,2,1,"_CPPv4N6HAHVAC8Features24TargetTemperatureFeatureE","HAHVAC::TargetTemperatureFeature"],[11,1,1,"_CPPv4N6HAHVAC15TemperatureUnitE","HAHVAC::TemperatureUnit"],[11,2,1,"_CPPv4N6HAHVAC15TemperatureUnit11CelsiusUnitE","HAHVAC::TemperatureUnit::CelsiusUnit"],[11,2,1,"_CPPv4N6HAHVAC15TemperatureUnit11DefaultUnitE","HAHVAC::TemperatureUnit::DefaultUnit"],[11,2,1,"_CPPv4N6HAHVAC15TemperatureUnit14FahrenheitUnitE","HAHVAC::TemperatureUnit::FahrenheitUnit"],[11,2,1,"_CPPv4N6HAHVAC6Action13UnknownActionE","HAHVAC::UnknownAction"],[11,2,1,"_CPPv4N6HAHVAC7FanMode14UnknownFanModeE","HAHVAC::UnknownFanMode"],[11,2,1,"_CPPv4N6HAHVAC4Mode11UnknownModeE","HAHVAC::UnknownMode"],[11,2,1,"_CPPv4N6HAHVAC9SwingMode16UnknownSwingModeE","HAHVAC::UnknownSwingMode"],[11,5,1,"_CPPv4N6HAHVAC7_actionE","HAHVAC::_action"],[11,5,1,"_CPPv4N6HAHVAC12_auxCallbackE","HAHVAC::_auxCallback"],[11,5,1,"_CPPv4N6HAHVAC9_auxStateE","HAHVAC::_auxState"],[11,5,1,"_CPPv4N6HAHVAC19_currentTemperatureE","HAHVAC::_currentTemperature"],[11,5,1,"_CPPv4N6HAHVAC8_fanModeE","HAHVAC::_fanMode"],[11,5,1,"_CPPv4N6HAHVAC16_fanModeCallbackE","HAHVAC::_fanModeCallback"],[11,5,1,"_CPPv4N6HAHVAC9_fanModesE","HAHVAC::_fanModes"],[11,5,1,"_CPPv4N6HAHVAC19_fanModesSerializerE","HAHVAC::_fanModesSerializer"],[11,5,1,"_CPPv4N6HAHVAC9_featuresE","HAHVAC::_features"],[11,5,1,"_CPPv4N6HAHVAC5_iconE","HAHVAC::_icon"],[11,5,1,"_CPPv4N6HAHVAC8_maxTempE","HAHVAC::_maxTemp"],[11,5,1,"_CPPv4N6HAHVAC8_minTempE","HAHVAC::_minTemp"],[11,5,1,"_CPPv4N6HAHVAC5_modeE","HAHVAC::_mode"],[11,5,1,"_CPPv4N6HAHVAC13_modeCallbackE","HAHVAC::_modeCallback"],[11,5,1,"_CPPv4N6HAHVAC6_modesE","HAHVAC::_modes"],[11,5,1,"_CPPv4N6HAHVAC16_modesSerializerE","HAHVAC::_modesSerializer"],[11,5,1,"_CPPv4N6HAHVAC14_powerCallbackE","HAHVAC::_powerCallback"],[11,5,1,"_CPPv4N6HAHVAC10_precisionE","HAHVAC::_precision"],[11,5,1,"_CPPv4N6HAHVAC7_retainE","HAHVAC::_retain"],[11,5,1,"_CPPv4N6HAHVAC10_swingModeE","HAHVAC::_swingMode"],[11,5,1,"_CPPv4N6HAHVAC18_swingModeCallbackE","HAHVAC::_swingModeCallback"],[11,5,1,"_CPPv4N6HAHVAC11_swingModesE","HAHVAC::_swingModes"],[11,5,1,"_CPPv4N6HAHVAC21_swingModesSerializerE","HAHVAC::_swingModesSerializer"],[11,5,1,"_CPPv4N6HAHVAC18_targetTemperatureE","HAHVAC::_targetTemperature"],[11,5,1,"_CPPv4N6HAHVAC26_targetTemperatureCallbackE","HAHVAC::_targetTemperatureCallback"],[11,5,1,"_CPPv4N6HAHVAC9_tempStepE","HAHVAC::_tempStep"],[11,5,1,"_CPPv4N6HAHVAC16_temperatureUnitE","HAHVAC::_temperatureUnit"],[11,3,1,"_CPPv4N6HAHVAC15buildSerializerEv","HAHVAC::buildSerializer"],[11,3,1,"_CPPv4N6HAHVAC27getCommandWithFloatTemplateEv","HAHVAC::getCommandWithFloatTemplate"],[11,3,1,"_CPPv4NK6HAHVAC16getCurrentActionEv","HAHVAC::getCurrentAction"],[11,3,1,"_CPPv4NK6HAHVAC18getCurrentAuxStateEv","HAHVAC::getCurrentAuxState"],[11,3,1,"_CPPv4NK6HAHVAC17getCurrentFanModeEv","HAHVAC::getCurrentFanMode"],[11,3,1,"_CPPv4NK6HAHVAC14getCurrentModeEv","HAHVAC::getCurrentMode"],[11,3,1,"_CPPv4NK6HAHVAC19getCurrentSwingModeEv","HAHVAC::getCurrentSwingMode"],[11,3,1,"_CPPv4NK6HAHVAC27getCurrentTargetTemperatureEv","HAHVAC::getCurrentTargetTemperature"],[11,3,1,"_CPPv4NK6HAHVAC21getCurrentTemperatureEv","HAHVAC::getCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC21handleAuxStateCommandEPK7uint8_tK8uint16_t","HAHVAC::handleAuxStateCommand"],[11,4,1,"_CPPv4N6HAHVAC21handleAuxStateCommandEPK7uint8_tK8uint16_t","HAHVAC::handleAuxStateCommand::cmd"],[11,4,1,"_CPPv4N6HAHVAC21handleAuxStateCommandEPK7uint8_tK8uint16_t","HAHVAC::handleAuxStateCommand::length"],[11,3,1,"_CPPv4N6HAHVAC20handleFanModeCommandEPK7uint8_tK8uint16_t","HAHVAC::handleFanModeCommand"],[11,4,1,"_CPPv4N6HAHVAC20handleFanModeCommandEPK7uint8_tK8uint16_t","HAHVAC::handleFanModeCommand::cmd"],[11,4,1,"_CPPv4N6HAHVAC20handleFanModeCommandEPK7uint8_tK8uint16_t","HAHVAC::handleFanModeCommand::length"],[11,3,1,"_CPPv4N6HAHVAC17handleModeCommandEPK7uint8_tK8uint16_t","HAHVAC::handleModeCommand"],[11,4,1,"_CPPv4N6HAHVAC17handleModeCommandEPK7uint8_tK8uint16_t","HAHVAC::handleModeCommand::cmd"],[11,4,1,"_CPPv4N6HAHVAC17handleModeCommandEPK7uint8_tK8uint16_t","HAHVAC::handleModeCommand::length"],[11,3,1,"_CPPv4N6HAHVAC18handlePowerCommandEPK7uint8_tK8uint16_t","HAHVAC::handlePowerCommand"],[11,4,1,"_CPPv4N6HAHVAC18handlePowerCommandEPK7uint8_tK8uint16_t","HAHVAC::handlePowerCommand::cmd"],[11,4,1,"_CPPv4N6HAHVAC18handlePowerCommandEPK7uint8_tK8uint16_t","HAHVAC::handlePowerCommand::length"],[11,3,1,"_CPPv4N6HAHVAC22handleSwingModeCommandEPK7uint8_tK8uint16_t","HAHVAC::handleSwingModeCommand"],[11,4,1,"_CPPv4N6HAHVAC22handleSwingModeCommandEPK7uint8_tK8uint16_t","HAHVAC::handleSwingModeCommand::cmd"],[11,4,1,"_CPPv4N6HAHVAC22handleSwingModeCommandEPK7uint8_tK8uint16_t","HAHVAC::handleSwingModeCommand::length"],[11,3,1,"_CPPv4N6HAHVAC30handleTargetTemperatureCommandEPK7uint8_tK8uint16_t","HAHVAC::handleTargetTemperatureCommand"],[11,4,1,"_CPPv4N6HAHVAC30handleTargetTemperatureCommandEPK7uint8_tK8uint16_t","HAHVAC::handleTargetTemperatureCommand::cmd"],[11,4,1,"_CPPv4N6HAHVAC30handleTargetTemperatureCommandEPK7uint8_tK8uint16_t","HAHVAC::handleTargetTemperatureCommand::length"],[11,3,1,"_CPPv4N6HAHVAC17onAuxStateCommandEPFvbP6HAHVACE","HAHVAC::onAuxStateCommand"],[11,4,1,"_CPPv4N6HAHVAC17onAuxStateCommandEPFvbP6HAHVACE","HAHVAC::onAuxStateCommand::callback"],[11,3,1,"_CPPv4N6HAHVAC16onFanModeCommandEPFv7FanModeP6HAHVACE","HAHVAC::onFanModeCommand"],[11,4,1,"_CPPv4N6HAHVAC16onFanModeCommandEPFv7FanModeP6HAHVACE","HAHVAC::onFanModeCommand::callback"],[11,3,1,"_CPPv4N6HAHVAC13onModeCommandEPFv4ModeP6HAHVACE","HAHVAC::onModeCommand"],[11,4,1,"_CPPv4N6HAHVAC13onModeCommandEPFv4ModeP6HAHVACE","HAHVAC::onModeCommand::callback"],[11,3,1,"_CPPv4N6HAHVAC15onMqttConnectedEv","HAHVAC::onMqttConnected"],[11,3,1,"_CPPv4N6HAHVAC13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAHVAC::onMqttMessage"],[11,4,1,"_CPPv4N6HAHVAC13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAHVAC::onMqttMessage::length"],[11,4,1,"_CPPv4N6HAHVAC13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAHVAC::onMqttMessage::payload"],[11,4,1,"_CPPv4N6HAHVAC13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAHVAC::onMqttMessage::topic"],[11,3,1,"_CPPv4N6HAHVAC14onPowerCommandEPFvbP6HAHVACE","HAHVAC::onPowerCommand"],[11,4,1,"_CPPv4N6HAHVAC14onPowerCommandEPFvbP6HAHVACE","HAHVAC::onPowerCommand::callback"],[11,3,1,"_CPPv4N6HAHVAC18onSwingModeCommandEPFv9SwingModeP6HAHVACE","HAHVAC::onSwingModeCommand"],[11,4,1,"_CPPv4N6HAHVAC18onSwingModeCommandEPFv9SwingModeP6HAHVACE","HAHVAC::onSwingModeCommand::callback"],[11,3,1,"_CPPv4N6HAHVAC26onTargetTemperatureCommandEPFv9HANumericP6HAHVACE","HAHVAC::onTargetTemperatureCommand"],[11,4,1,"_CPPv4N6HAHVAC26onTargetTemperatureCommandEPFv9HANumericP6HAHVACE","HAHVAC::onTargetTemperatureCommand::callback"],[11,3,1,"_CPPv4N6HAHVAC13publishActionEK6Action","HAHVAC::publishAction"],[11,4,1,"_CPPv4N6HAHVAC13publishActionEK6Action","HAHVAC::publishAction::action"],[11,3,1,"_CPPv4N6HAHVAC15publishAuxStateEKb","HAHVAC::publishAuxState"],[11,4,1,"_CPPv4N6HAHVAC15publishAuxStateEKb","HAHVAC::publishAuxState::state"],[11,3,1,"_CPPv4N6HAHVAC25publishCurrentTemperatureERK9HANumeric","HAHVAC::publishCurrentTemperature"],[11,4,1,"_CPPv4N6HAHVAC25publishCurrentTemperatureERK9HANumeric","HAHVAC::publishCurrentTemperature::temperature"],[11,3,1,"_CPPv4N6HAHVAC14publishFanModeEK7FanMode","HAHVAC::publishFanMode"],[11,4,1,"_CPPv4N6HAHVAC14publishFanModeEK7FanMode","HAHVAC::publishFanMode::mode"],[11,3,1,"_CPPv4N6HAHVAC11publishModeEK4Mode","HAHVAC::publishMode"],[11,4,1,"_CPPv4N6HAHVAC11publishModeEK4Mode","HAHVAC::publishMode::mode"],[11,3,1,"_CPPv4N6HAHVAC16publishSwingModeEK9SwingMode","HAHVAC::publishSwingMode"],[11,4,1,"_CPPv4N6HAHVAC16publishSwingModeEK9SwingMode","HAHVAC::publishSwingMode::mode"],[11,3,1,"_CPPv4N6HAHVAC24publishTargetTemperatureERK9HANumeric","HAHVAC::publishTargetTemperature"],[11,4,1,"_CPPv4N6HAHVAC24publishTargetTemperatureERK9HANumeric","HAHVAC::publishTargetTemperature::temperature"],[11,3,1,"_CPPv4N6HAHVAC9setActionEK6ActionKb","HAHVAC::setAction"],[11,4,1,"_CPPv4N6HAHVAC9setActionEK6ActionKb","HAHVAC::setAction::action"],[11,4,1,"_CPPv4N6HAHVAC9setActionEK6ActionKb","HAHVAC::setAction::force"],[11,3,1,"_CPPv4N6HAHVAC11setAuxStateEKbKb","HAHVAC::setAuxState"],[11,4,1,"_CPPv4N6HAHVAC11setAuxStateEKbKb","HAHVAC::setAuxState::force"],[11,4,1,"_CPPv4N6HAHVAC11setAuxStateEKbKb","HAHVAC::setAuxState::state"],[11,3,1,"_CPPv4N6HAHVAC16setCurrentActionEK6Action","HAHVAC::setCurrentAction"],[11,4,1,"_CPPv4N6HAHVAC16setCurrentActionEK6Action","HAHVAC::setCurrentAction::action"],[11,3,1,"_CPPv4N6HAHVAC18setCurrentAuxStateEKb","HAHVAC::setCurrentAuxState"],[11,4,1,"_CPPv4N6HAHVAC18setCurrentAuxStateEKb","HAHVAC::setCurrentAuxState::state"],[11,3,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK6int8_t","HAHVAC::setCurrentCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK7int16_t","HAHVAC::setCurrentCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK7int32_t","HAHVAC::setCurrentCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK7uint8_t","HAHVAC::setCurrentCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK8uint16_t","HAHVAC::setCurrentCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK8uint32_t","HAHVAC::setCurrentCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEKf","HAHVAC::setCurrentCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureERK9HANumeric","HAHVAC::setCurrentCurrentTemperature"],[11,4,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK6int8_t","HAHVAC::setCurrentCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK7int16_t","HAHVAC::setCurrentCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK7int32_t","HAHVAC::setCurrentCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK7uint8_t","HAHVAC::setCurrentCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK8uint16_t","HAHVAC::setCurrentCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEK8uint32_t","HAHVAC::setCurrentCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureEKf","HAHVAC::setCurrentCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC28setCurrentCurrentTemperatureERK9HANumeric","HAHVAC::setCurrentCurrentTemperature::temperature"],[11,3,1,"_CPPv4N6HAHVAC17setCurrentFanModeEK7FanMode","HAHVAC::setCurrentFanMode"],[11,4,1,"_CPPv4N6HAHVAC17setCurrentFanModeEK7FanMode","HAHVAC::setCurrentFanMode::mode"],[11,3,1,"_CPPv4N6HAHVAC14setCurrentModeEK4Mode","HAHVAC::setCurrentMode"],[11,4,1,"_CPPv4N6HAHVAC14setCurrentModeEK4Mode","HAHVAC::setCurrentMode::mode"],[11,3,1,"_CPPv4N6HAHVAC19setCurrentSwingModeEK9SwingMode","HAHVAC::setCurrentSwingMode"],[11,4,1,"_CPPv4N6HAHVAC19setCurrentSwingModeEK9SwingMode","HAHVAC::setCurrentSwingMode::mode"],[11,3,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK6int8_t","HAHVAC::setCurrentTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK7int16_t","HAHVAC::setCurrentTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK7int32_t","HAHVAC::setCurrentTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK7uint8_t","HAHVAC::setCurrentTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK8uint16_t","HAHVAC::setCurrentTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK8uint32_t","HAHVAC::setCurrentTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEKf","HAHVAC::setCurrentTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureERK9HANumeric","HAHVAC::setCurrentTargetTemperature"],[11,4,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK6int8_t","HAHVAC::setCurrentTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK7int16_t","HAHVAC::setCurrentTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK7int32_t","HAHVAC::setCurrentTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK7uint8_t","HAHVAC::setCurrentTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK8uint16_t","HAHVAC::setCurrentTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEK8uint32_t","HAHVAC::setCurrentTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureEKf","HAHVAC::setCurrentTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC27setCurrentTargetTemperatureERK9HANumeric","HAHVAC::setCurrentTargetTemperature::temperature"],[11,3,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK6int8_tKb","HAHVAC::setCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK7int16_tKb","HAHVAC::setCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK7int32_tKb","HAHVAC::setCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK7uint8_tKb","HAHVAC::setCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK8uint16_tKb","HAHVAC::setCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK8uint32_tKb","HAHVAC::setCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEKfKb","HAHVAC::setCurrentTemperature"],[11,3,1,"_CPPv4N6HAHVAC21setCurrentTemperatureERK9HANumericKb","HAHVAC::setCurrentTemperature"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK6int8_tKb","HAHVAC::setCurrentTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK7int16_tKb","HAHVAC::setCurrentTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK7int32_tKb","HAHVAC::setCurrentTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK7uint8_tKb","HAHVAC::setCurrentTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK8uint16_tKb","HAHVAC::setCurrentTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK8uint32_tKb","HAHVAC::setCurrentTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEKfKb","HAHVAC::setCurrentTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureERK9HANumericKb","HAHVAC::setCurrentTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK6int8_tKb","HAHVAC::setCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK7int16_tKb","HAHVAC::setCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK7int32_tKb","HAHVAC::setCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK7uint8_tKb","HAHVAC::setCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK8uint16_tKb","HAHVAC::setCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEK8uint32_tKb","HAHVAC::setCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureEKfKb","HAHVAC::setCurrentTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC21setCurrentTemperatureERK9HANumericKb","HAHVAC::setCurrentTemperature::temperature"],[11,3,1,"_CPPv4N6HAHVAC10setFanModeEK7FanModeKb","HAHVAC::setFanMode"],[11,4,1,"_CPPv4N6HAHVAC10setFanModeEK7FanModeKb","HAHVAC::setFanMode::force"],[11,4,1,"_CPPv4N6HAHVAC10setFanModeEK7FanModeKb","HAHVAC::setFanMode::mode"],[11,3,1,"_CPPv4N6HAHVAC11setFanModesEK7uint8_t","HAHVAC::setFanModes"],[11,4,1,"_CPPv4N6HAHVAC11setFanModesEK7uint8_t","HAHVAC::setFanModes::modes"],[11,3,1,"_CPPv4N6HAHVAC7setIconEPKc","HAHVAC::setIcon"],[11,4,1,"_CPPv4N6HAHVAC7setIconEPKc","HAHVAC::setIcon::icon"],[11,3,1,"_CPPv4N6HAHVAC10setMaxTempEKf","HAHVAC::setMaxTemp"],[11,4,1,"_CPPv4N6HAHVAC10setMaxTempEKf","HAHVAC::setMaxTemp::max"],[11,3,1,"_CPPv4N6HAHVAC10setMinTempEKf","HAHVAC::setMinTemp"],[11,4,1,"_CPPv4N6HAHVAC10setMinTempEKf","HAHVAC::setMinTemp::min"],[11,3,1,"_CPPv4N6HAHVAC7setModeEK4ModeKb","HAHVAC::setMode"],[11,4,1,"_CPPv4N6HAHVAC7setModeEK4ModeKb","HAHVAC::setMode::force"],[11,4,1,"_CPPv4N6HAHVAC7setModeEK4ModeKb","HAHVAC::setMode::mode"],[11,3,1,"_CPPv4N6HAHVAC8setModesEK7uint8_t","HAHVAC::setModes"],[11,4,1,"_CPPv4N6HAHVAC8setModesEK7uint8_t","HAHVAC::setModes::modes"],[11,3,1,"_CPPv4N6HAHVAC9setRetainEKb","HAHVAC::setRetain"],[11,4,1,"_CPPv4N6HAHVAC9setRetainEKb","HAHVAC::setRetain::retain"],[11,3,1,"_CPPv4N6HAHVAC12setSwingModeEK9SwingModeKb","HAHVAC::setSwingMode"],[11,4,1,"_CPPv4N6HAHVAC12setSwingModeEK9SwingModeKb","HAHVAC::setSwingMode::force"],[11,4,1,"_CPPv4N6HAHVAC12setSwingModeEK9SwingModeKb","HAHVAC::setSwingMode::mode"],[11,3,1,"_CPPv4N6HAHVAC13setSwingModesEK7uint8_t","HAHVAC::setSwingModes"],[11,4,1,"_CPPv4N6HAHVAC13setSwingModesEK7uint8_t","HAHVAC::setSwingModes::modes"],[11,3,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK6int8_tKb","HAHVAC::setTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK7int16_tKb","HAHVAC::setTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK7int32_tKb","HAHVAC::setTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK7uint8_tKb","HAHVAC::setTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK8uint16_tKb","HAHVAC::setTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK8uint32_tKb","HAHVAC::setTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC20setTargetTemperatureEKfKb","HAHVAC::setTargetTemperature"],[11,3,1,"_CPPv4N6HAHVAC20setTargetTemperatureERK9HANumericKb","HAHVAC::setTargetTemperature"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK6int8_tKb","HAHVAC::setTargetTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK7int16_tKb","HAHVAC::setTargetTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK7int32_tKb","HAHVAC::setTargetTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK7uint8_tKb","HAHVAC::setTargetTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK8uint16_tKb","HAHVAC::setTargetTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK8uint32_tKb","HAHVAC::setTargetTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEKfKb","HAHVAC::setTargetTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureERK9HANumericKb","HAHVAC::setTargetTemperature::force"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK6int8_tKb","HAHVAC::setTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK7int16_tKb","HAHVAC::setTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK7int32_tKb","HAHVAC::setTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK7uint8_tKb","HAHVAC::setTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK8uint16_tKb","HAHVAC::setTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEK8uint32_tKb","HAHVAC::setTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureEKfKb","HAHVAC::setTargetTemperature::temperature"],[11,4,1,"_CPPv4N6HAHVAC20setTargetTemperatureERK9HANumericKb","HAHVAC::setTargetTemperature::temperature"],[11,3,1,"_CPPv4N6HAHVAC11setTempStepEKf","HAHVAC::setTempStep"],[11,4,1,"_CPPv4N6HAHVAC11setTempStepEKf","HAHVAC::setTempStep::step"],[11,3,1,"_CPPv4N6HAHVAC18setTemperatureUnitE15TemperatureUnit","HAHVAC::setTemperatureUnit"],[11,4,1,"_CPPv4N6HAHVAC18setTemperatureUnitE15TemperatureUnit","HAHVAC::setTemperatureUnit::unit"],[11,3,1,"_CPPv4N6HAHVACD0Ev","HAHVAC::~HAHVAC"],[12,0,1,"_CPPv47HALight","HALight"],[12,2,1,"_CPPv4N7HALight8Features17BrightnessFeatureE","HALight::BrightnessFeature"],[12,2,1,"_CPPv4N7HALight8Features23ColorTemperatureFeatureE","HALight::ColorTemperatureFeature"],[12,2,1,"_CPPv4N7HALight8Features15DefaultFeaturesE","HALight::DefaultFeatures"],[12,1,1,"_CPPv4N7HALight8FeaturesE","HALight::Features"],[12,2,1,"_CPPv4N7HALight8Features17BrightnessFeatureE","HALight::Features::BrightnessFeature"],[12,2,1,"_CPPv4N7HALight8Features23ColorTemperatureFeatureE","HALight::Features::ColorTemperatureFeature"],[12,2,1,"_CPPv4N7HALight8Features15DefaultFeaturesE","HALight::Features::DefaultFeatures"],[12,2,1,"_CPPv4N7HALight8Features10RGBFeatureE","HALight::Features::RGBFeature"],[12,3,1,"_CPPv4N7HALight7HALightEPKcK7uint8_t","HALight::HALight"],[12,4,1,"_CPPv4N7HALight7HALightEPKcK7uint8_t","HALight::HALight::features"],[12,4,1,"_CPPv4N7HALight7HALightEPKcK7uint8_t","HALight::HALight::uniqueId"],[12,0,1,"_CPPv4N7HALight8RGBColorE","HALight::RGBColor"],[12,3,1,"_CPPv4N7HALight8RGBColor8RGBColorE7uint8_t7uint8_t7uint8_t","HALight::RGBColor::RGBColor"],[12,3,1,"_CPPv4N7HALight8RGBColor8RGBColorEv","HALight::RGBColor::RGBColor"],[12,4,1,"_CPPv4N7HALight8RGBColor8RGBColorE7uint8_t7uint8_t7uint8_t","HALight::RGBColor::RGBColor::b"],[12,4,1,"_CPPv4N7HALight8RGBColor8RGBColorE7uint8_t7uint8_t7uint8_t","HALight::RGBColor::RGBColor::g"],[12,4,1,"_CPPv4N7HALight8RGBColor8RGBColorE7uint8_t7uint8_t7uint8_t","HALight::RGBColor::RGBColor::r"],[12,5,1,"_CPPv4N7HALight8RGBColor4blueE","HALight::RGBColor::blue"],[12,3,1,"_CPPv4N7HALight8RGBColor10fromBufferEPK7uint8_tK8uint16_t","HALight::RGBColor::fromBuffer"],[12,4,1,"_CPPv4N7HALight8RGBColor10fromBufferEPK7uint8_tK8uint16_t","HALight::RGBColor::fromBuffer::data"],[12,4,1,"_CPPv4N7HALight8RGBColor10fromBufferEPK7uint8_tK8uint16_t","HALight::RGBColor::fromBuffer::length"],[12,5,1,"_CPPv4N7HALight8RGBColor5greenE","HALight::RGBColor::green"],[12,5,1,"_CPPv4N7HALight8RGBColor5isSetE","HALight::RGBColor::isSet"],[12,3,1,"_CPPv4NK7HALight8RGBColorneERK8RGBColor","HALight::RGBColor::operator!="],[12,4,1,"_CPPv4NK7HALight8RGBColorneERK8RGBColor","HALight::RGBColor::operator!=::a"],[12,3,1,"_CPPv4N7HALight8RGBColoraSERK8RGBColor","HALight::RGBColor::operator="],[12,4,1,"_CPPv4N7HALight8RGBColoraSERK8RGBColor","HALight::RGBColor::operator=::a"],[12,3,1,"_CPPv4NK7HALight8RGBColoreqERK8RGBColor","HALight::RGBColor::operator=="],[12,4,1,"_CPPv4NK7HALight8RGBColoreqERK8RGBColor","HALight::RGBColor::operator==::a"],[12,5,1,"_CPPv4N7HALight8RGBColor3redE","HALight::RGBColor::red"],[12,2,1,"_CPPv4N7HALight8Features10RGBFeatureE","HALight::RGBFeature"],[12,5,1,"_CPPv4N7HALight18RGBStringMaxLengthE","HALight::RGBStringMaxLength"],[12,5,1,"_CPPv4N7HALight19_brightnessCallbackE","HALight::_brightnessCallback"],[12,5,1,"_CPPv4N7HALight16_brightnessScaleE","HALight::_brightnessScale"],[12,5,1,"_CPPv4N7HALight25_colorTemperatureCallbackE","HALight::_colorTemperatureCallback"],[12,5,1,"_CPPv4N7HALight18_currentBrightnessE","HALight::_currentBrightness"],[12,5,1,"_CPPv4N7HALight24_currentColorTemperatureE","HALight::_currentColorTemperature"],[12,5,1,"_CPPv4N7HALight16_currentRGBColorE","HALight::_currentRGBColor"],[12,5,1,"_CPPv4N7HALight13_currentStateE","HALight::_currentState"],[12,5,1,"_CPPv4N7HALight9_featuresE","HALight::_features"],[12,5,1,"_CPPv4N7HALight5_iconE","HALight::_icon"],[12,5,1,"_CPPv4N7HALight10_maxMiredsE","HALight::_maxMireds"],[12,5,1,"_CPPv4N7HALight10_minMiredsE","HALight::_minMireds"],[12,5,1,"_CPPv4N7HALight11_optimisticE","HALight::_optimistic"],[12,5,1,"_CPPv4N7HALight7_retainE","HALight::_retain"],[12,5,1,"_CPPv4N7HALight17_rgbColorCallbackE","HALight::_rgbColorCallback"],[12,5,1,"_CPPv4N7HALight14_stateCallbackE","HALight::_stateCallback"],[12,3,1,"_CPPv4N7HALight15buildSerializerEv","HALight::buildSerializer"],[12,3,1,"_CPPv4NK7HALight20getCurrentBrightnessEv","HALight::getCurrentBrightness"],[12,3,1,"_CPPv4NK7HALight26getCurrentColorTemperatureEv","HALight::getCurrentColorTemperature"],[12,3,1,"_CPPv4NK7HALight18getCurrentRGBColorEv","HALight::getCurrentRGBColor"],[12,3,1,"_CPPv4NK7HALight15getCurrentStateEv","HALight::getCurrentState"],[12,3,1,"_CPPv4N7HALight23handleBrightnessCommandEPK7uint8_tK8uint16_t","HALight::handleBrightnessCommand"],[12,4,1,"_CPPv4N7HALight23handleBrightnessCommandEPK7uint8_tK8uint16_t","HALight::handleBrightnessCommand::cmd"],[12,4,1,"_CPPv4N7HALight23handleBrightnessCommandEPK7uint8_tK8uint16_t","HALight::handleBrightnessCommand::length"],[12,3,1,"_CPPv4N7HALight29handleColorTemperatureCommandEPK7uint8_tK8uint16_t","HALight::handleColorTemperatureCommand"],[12,4,1,"_CPPv4N7HALight29handleColorTemperatureCommandEPK7uint8_tK8uint16_t","HALight::handleColorTemperatureCommand::cmd"],[12,4,1,"_CPPv4N7HALight29handleColorTemperatureCommandEPK7uint8_tK8uint16_t","HALight::handleColorTemperatureCommand::length"],[12,3,1,"_CPPv4N7HALight16handleRGBCommandEPK7uint8_tK8uint16_t","HALight::handleRGBCommand"],[12,4,1,"_CPPv4N7HALight16handleRGBCommandEPK7uint8_tK8uint16_t","HALight::handleRGBCommand::cmd"],[12,4,1,"_CPPv4N7HALight16handleRGBCommandEPK7uint8_tK8uint16_t","HALight::handleRGBCommand::length"],[12,3,1,"_CPPv4N7HALight18handleStateCommandEPK7uint8_tK8uint16_t","HALight::handleStateCommand"],[12,4,1,"_CPPv4N7HALight18handleStateCommandEPK7uint8_tK8uint16_t","HALight::handleStateCommand::cmd"],[12,4,1,"_CPPv4N7HALight18handleStateCommandEPK7uint8_tK8uint16_t","HALight::handleStateCommand::length"],[12,3,1,"_CPPv4N7HALight19onBrightnessCommandEPFv7uint8_tP7HALightE","HALight::onBrightnessCommand"],[12,4,1,"_CPPv4N7HALight19onBrightnessCommandEPFv7uint8_tP7HALightE","HALight::onBrightnessCommand::callback"],[12,3,1,"_CPPv4N7HALight25onColorTemperatureCommandEPFv8uint16_tP7HALightE","HALight::onColorTemperatureCommand"],[12,4,1,"_CPPv4N7HALight25onColorTemperatureCommandEPFv8uint16_tP7HALightE","HALight::onColorTemperatureCommand::callback"],[12,3,1,"_CPPv4N7HALight15onMqttConnectedEv","HALight::onMqttConnected"],[12,3,1,"_CPPv4N7HALight13onMqttMessageEPKcPK7uint8_tK8uint16_t","HALight::onMqttMessage"],[12,4,1,"_CPPv4N7HALight13onMqttMessageEPKcPK7uint8_tK8uint16_t","HALight::onMqttMessage::length"],[12,4,1,"_CPPv4N7HALight13onMqttMessageEPKcPK7uint8_tK8uint16_t","HALight::onMqttMessage::payload"],[12,4,1,"_CPPv4N7HALight13onMqttMessageEPKcPK7uint8_tK8uint16_t","HALight::onMqttMessage::topic"],[12,3,1,"_CPPv4N7HALight17onRGBColorCommandEPFvN7HALight8RGBColorEP7HALightE","HALight::onRGBColorCommand"],[12,4,1,"_CPPv4N7HALight17onRGBColorCommandEPFvN7HALight8RGBColorEP7HALightE","HALight::onRGBColorCommand::callback"],[12,3,1,"_CPPv4N7HALight14onStateCommandEPFvbP7HALightE","HALight::onStateCommand"],[12,4,1,"_CPPv4N7HALight14onStateCommandEPFvbP7HALightE","HALight::onStateCommand::callback"],[12,3,1,"_CPPv4N7HALight17publishBrightnessEK7uint8_t","HALight::publishBrightness"],[12,4,1,"_CPPv4N7HALight17publishBrightnessEK7uint8_t","HALight::publishBrightness::brightness"],[12,3,1,"_CPPv4N7HALight23publishColorTemperatureEK8uint16_t","HALight::publishColorTemperature"],[12,4,1,"_CPPv4N7HALight23publishColorTemperatureEK8uint16_t","HALight::publishColorTemperature::temperature"],[12,3,1,"_CPPv4N7HALight15publishRGBColorERK8RGBColor","HALight::publishRGBColor"],[12,4,1,"_CPPv4N7HALight15publishRGBColorERK8RGBColor","HALight::publishRGBColor::color"],[12,3,1,"_CPPv4N7HALight12publishStateEKb","HALight::publishState"],[12,4,1,"_CPPv4N7HALight12publishStateEKb","HALight::publishState::state"],[12,3,1,"_CPPv4N7HALight13setBrightnessEK7uint8_tKb","HALight::setBrightness"],[12,4,1,"_CPPv4N7HALight13setBrightnessEK7uint8_tKb","HALight::setBrightness::brightness"],[12,4,1,"_CPPv4N7HALight13setBrightnessEK7uint8_tKb","HALight::setBrightness::force"],[12,3,1,"_CPPv4N7HALight18setBrightnessScaleEK7uint8_t","HALight::setBrightnessScale"],[12,4,1,"_CPPv4N7HALight18setBrightnessScaleEK7uint8_t","HALight::setBrightnessScale::scale"],[12,3,1,"_CPPv4N7HALight19setColorTemperatureEK8uint16_tKb","HALight::setColorTemperature"],[12,4,1,"_CPPv4N7HALight19setColorTemperatureEK8uint16_tKb","HALight::setColorTemperature::force"],[12,4,1,"_CPPv4N7HALight19setColorTemperatureEK8uint16_tKb","HALight::setColorTemperature::temperature"],[12,3,1,"_CPPv4N7HALight20setCurrentBrightnessEK7uint8_t","HALight::setCurrentBrightness"],[12,4,1,"_CPPv4N7HALight20setCurrentBrightnessEK7uint8_t","HALight::setCurrentBrightness::brightness"],[12,3,1,"_CPPv4N7HALight26setCurrentColorTemperatureEK8uint16_t","HALight::setCurrentColorTemperature"],[12,4,1,"_CPPv4N7HALight26setCurrentColorTemperatureEK8uint16_t","HALight::setCurrentColorTemperature::temperature"],[12,3,1,"_CPPv4N7HALight18setCurrentRGBColorERK8RGBColor","HALight::setCurrentRGBColor"],[12,4,1,"_CPPv4N7HALight18setCurrentRGBColorERK8RGBColor","HALight::setCurrentRGBColor::color"],[12,3,1,"_CPPv4N7HALight15setCurrentStateEKb","HALight::setCurrentState"],[12,4,1,"_CPPv4N7HALight15setCurrentStateEKb","HALight::setCurrentState::state"],[12,3,1,"_CPPv4N7HALight7setIconEPKc","HALight::setIcon"],[12,4,1,"_CPPv4N7HALight7setIconEPKc","HALight::setIcon::icon"],[12,3,1,"_CPPv4N7HALight12setMaxMiredsEK8uint16_t","HALight::setMaxMireds"],[12,4,1,"_CPPv4N7HALight12setMaxMiredsEK8uint16_t","HALight::setMaxMireds::mireds"],[12,3,1,"_CPPv4N7HALight12setMinMiredsEK8uint16_t","HALight::setMinMireds"],[12,4,1,"_CPPv4N7HALight12setMinMiredsEK8uint16_t","HALight::setMinMireds::mireds"],[12,3,1,"_CPPv4N7HALight13setOptimisticEKb","HALight::setOptimistic"],[12,4,1,"_CPPv4N7HALight13setOptimisticEKb","HALight::setOptimistic::optimistic"],[12,3,1,"_CPPv4N7HALight11setRGBColorERK8RGBColorKb","HALight::setRGBColor"],[12,4,1,"_CPPv4N7HALight11setRGBColorERK8RGBColorKb","HALight::setRGBColor::color"],[12,4,1,"_CPPv4N7HALight11setRGBColorERK8RGBColorKb","HALight::setRGBColor::force"],[12,3,1,"_CPPv4N7HALight9setRetainEKb","HALight::setRetain"],[12,4,1,"_CPPv4N7HALight9setRetainEKb","HALight::setRetain::retain"],[12,3,1,"_CPPv4N7HALight8setStateEKbKb","HALight::setState"],[12,4,1,"_CPPv4N7HALight8setStateEKbKb","HALight::setState::force"],[12,4,1,"_CPPv4N7HALight8setStateEKbKb","HALight::setState::state"],[12,3,1,"_CPPv4N7HALight7turnOffEv","HALight::turnOff"],[12,3,1,"_CPPv4N7HALight6turnOnEv","HALight::turnOn"],[13,0,1,"_CPPv46HALock","HALock"],[13,2,1,"_CPPv4N6HALock11LockCommand11CommandLockE","HALock::CommandLock"],[13,2,1,"_CPPv4N6HALock11LockCommand11CommandOpenE","HALock::CommandOpen"],[13,2,1,"_CPPv4N6HALock11LockCommand13CommandUnlockE","HALock::CommandUnlock"],[13,3,1,"_CPPv4N6HALock6HALockEPKc","HALock::HALock"],[13,4,1,"_CPPv4N6HALock6HALockEPKc","HALock::HALock::uniqueId"],[13,1,1,"_CPPv4N6HALock11LockCommandE","HALock::LockCommand"],[13,2,1,"_CPPv4N6HALock11LockCommand11CommandLockE","HALock::LockCommand::CommandLock"],[13,2,1,"_CPPv4N6HALock11LockCommand11CommandOpenE","HALock::LockCommand::CommandOpen"],[13,2,1,"_CPPv4N6HALock11LockCommand13CommandUnlockE","HALock::LockCommand::CommandUnlock"],[13,1,1,"_CPPv4N6HALock9LockStateE","HALock::LockState"],[13,2,1,"_CPPv4N6HALock9LockState11StateLockedE","HALock::LockState::StateLocked"],[13,2,1,"_CPPv4N6HALock9LockState12StateUnknownE","HALock::LockState::StateUnknown"],[13,2,1,"_CPPv4N6HALock9LockState13StateUnlockedE","HALock::LockState::StateUnlocked"],[13,2,1,"_CPPv4N6HALock9LockState11StateLockedE","HALock::StateLocked"],[13,2,1,"_CPPv4N6HALock9LockState12StateUnknownE","HALock::StateUnknown"],[13,2,1,"_CPPv4N6HALock9LockState13StateUnlockedE","HALock::StateUnlocked"],[13,5,1,"_CPPv4N6HALock16_commandCallbackE","HALock::_commandCallback"],[13,5,1,"_CPPv4N6HALock13_currentStateE","HALock::_currentState"],[13,5,1,"_CPPv4N6HALock5_iconE","HALock::_icon"],[13,5,1,"_CPPv4N6HALock11_optimisticE","HALock::_optimistic"],[13,5,1,"_CPPv4N6HALock7_retainE","HALock::_retain"],[13,3,1,"_CPPv4N6HALock15buildSerializerEv","HALock::buildSerializer"],[13,3,1,"_CPPv4NK6HALock15getCurrentStateEv","HALock::getCurrentState"],[13,3,1,"_CPPv4N6HALock13handleCommandEPK7uint8_tK8uint16_t","HALock::handleCommand"],[13,4,1,"_CPPv4N6HALock13handleCommandEPK7uint8_tK8uint16_t","HALock::handleCommand::cmd"],[13,4,1,"_CPPv4N6HALock13handleCommandEPK7uint8_tK8uint16_t","HALock::handleCommand::length"],[13,3,1,"_CPPv4N6HALock9onCommandEPFv11LockCommandP6HALockE","HALock::onCommand"],[13,4,1,"_CPPv4N6HALock9onCommandEPFv11LockCommandP6HALockE","HALock::onCommand::callback"],[13,3,1,"_CPPv4N6HALock15onMqttConnectedEv","HALock::onMqttConnected"],[13,3,1,"_CPPv4N6HALock13onMqttMessageEPKcPK7uint8_tK8uint16_t","HALock::onMqttMessage"],[13,4,1,"_CPPv4N6HALock13onMqttMessageEPKcPK7uint8_tK8uint16_t","HALock::onMqttMessage::length"],[13,4,1,"_CPPv4N6HALock13onMqttMessageEPKcPK7uint8_tK8uint16_t","HALock::onMqttMessage::payload"],[13,4,1,"_CPPv4N6HALock13onMqttMessageEPKcPK7uint8_tK8uint16_t","HALock::onMqttMessage::topic"],[13,3,1,"_CPPv4N6HALock12publishStateEK9LockState","HALock::publishState"],[13,4,1,"_CPPv4N6HALock12publishStateEK9LockState","HALock::publishState::state"],[13,3,1,"_CPPv4N6HALock15setCurrentStateEK9LockState","HALock::setCurrentState"],[13,4,1,"_CPPv4N6HALock15setCurrentStateEK9LockState","HALock::setCurrentState::state"],[13,3,1,"_CPPv4N6HALock7setIconEPKc","HALock::setIcon"],[13,4,1,"_CPPv4N6HALock7setIconEPKc","HALock::setIcon::icon"],[13,3,1,"_CPPv4N6HALock13setOptimisticEKb","HALock::setOptimistic"],[13,4,1,"_CPPv4N6HALock13setOptimisticEKb","HALock::setOptimistic::optimistic"],[13,3,1,"_CPPv4N6HALock9setRetainEKb","HALock::setRetain"],[13,4,1,"_CPPv4N6HALock9setRetainEKb","HALock::setRetain::retain"],[13,3,1,"_CPPv4N6HALock8setStateEK9LockStateKb","HALock::setState"],[13,4,1,"_CPPv4N6HALock8setStateEK9LockStateKb","HALock::setState::force"],[13,4,1,"_CPPv4N6HALock8setStateEK9LockStateKb","HALock::setState::state"],[1,0,1,"_CPPv46HAMqtt","HAMqtt"],[1,1,1,"_CPPv4N6HAMqtt15ConnectionStateE","HAMqtt::ConnectionState"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState16StateBadClientIdE","HAMqtt::ConnectionState::StateBadClientId"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState19StateBadCredentialsE","HAMqtt::ConnectionState::StateBadCredentials"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState16StateBadProtocolE","HAMqtt::ConnectionState::StateBadProtocol"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState14StateConnectedE","HAMqtt::ConnectionState::StateConnected"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState15StateConnectingE","HAMqtt::ConnectionState::StateConnecting"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState21StateConnectionFailedE","HAMqtt::ConnectionState::StateConnectionFailed"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState19StateConnectionLostE","HAMqtt::ConnectionState::StateConnectionLost"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState22StateConnectionTimeoutE","HAMqtt::ConnectionState::StateConnectionTimeout"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState17StateDisconnectedE","HAMqtt::ConnectionState::StateDisconnected"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState19StateNotInitializedE","HAMqtt::ConnectionState::StateNotInitialized"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState17StateUnauthorizedE","HAMqtt::ConnectionState::StateUnauthorized"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState16StateUnavailableE","HAMqtt::ConnectionState::StateUnavailable"],[1,3,1,"_CPPv4N6HAMqtt6HAMqttER6ClientR8HADeviceK7uint8_t","HAMqtt::HAMqtt"],[1,4,1,"_CPPv4N6HAMqtt6HAMqttER6ClientR8HADeviceK7uint8_t","HAMqtt::HAMqtt::device"],[1,4,1,"_CPPv4N6HAMqtt6HAMqttER6ClientR8HADeviceK7uint8_t","HAMqtt::HAMqtt::maxDevicesTypesNb"],[1,4,1,"_CPPv4N6HAMqtt6HAMqttER6ClientR8HADeviceK7uint8_t","HAMqtt::HAMqtt::netClient"],[1,5,1,"_CPPv4N6HAMqtt17ReconnectIntervalE","HAMqtt::ReconnectInterval"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState16StateBadClientIdE","HAMqtt::StateBadClientId"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState19StateBadCredentialsE","HAMqtt::StateBadCredentials"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState16StateBadProtocolE","HAMqtt::StateBadProtocol"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState14StateConnectedE","HAMqtt::StateConnected"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState15StateConnectingE","HAMqtt::StateConnecting"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState21StateConnectionFailedE","HAMqtt::StateConnectionFailed"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState19StateConnectionLostE","HAMqtt::StateConnectionLost"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState22StateConnectionTimeoutE","HAMqtt::StateConnectionTimeout"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState17StateDisconnectedE","HAMqtt::StateDisconnected"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState19StateNotInitializedE","HAMqtt::StateNotInitialized"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState17StateUnauthorizedE","HAMqtt::StateUnauthorized"],[1,2,1,"_CPPv4N6HAMqtt15ConnectionState16StateUnavailableE","HAMqtt::StateUnavailable"],[1,5,1,"_CPPv4N6HAMqtt18_connectedCallbackE","HAMqtt::_connectedCallback"],[1,5,1,"_CPPv4N6HAMqtt13_currentStateE","HAMqtt::_currentState"],[1,5,1,"_CPPv4N6HAMqtt11_dataPrefixE","HAMqtt::_dataPrefix"],[1,5,1,"_CPPv4N6HAMqtt7_deviceE","HAMqtt::_device"],[1,5,1,"_CPPv4N6HAMqtt13_devicesTypesE","HAMqtt::_devicesTypes"],[1,5,1,"_CPPv4N6HAMqtt15_devicesTypesNbE","HAMqtt::_devicesTypesNb"],[1,5,1,"_CPPv4N6HAMqtt21_disconnectedCallbackE","HAMqtt::_disconnectedCallback"],[1,5,1,"_CPPv4N6HAMqtt16_discoveryPrefixE","HAMqtt::_discoveryPrefix"],[1,5,1,"_CPPv4N6HAMqtt12_initializedE","HAMqtt::_initialized"],[1,5,1,"_CPPv4N6HAMqtt9_instanceE","HAMqtt::_instance"],[1,5,1,"_CPPv4N6HAMqtt24_lastConnectionAttemptAtE","HAMqtt::_lastConnectionAttemptAt"],[1,5,1,"_CPPv4N6HAMqtt16_lastWillMessageE","HAMqtt::_lastWillMessage"],[1,5,1,"_CPPv4N6HAMqtt15_lastWillRetainE","HAMqtt::_lastWillRetain"],[1,5,1,"_CPPv4N6HAMqtt14_lastWillTopicE","HAMqtt::_lastWillTopic"],[1,5,1,"_CPPv4N6HAMqtt18_maxDevicesTypesNbE","HAMqtt::_maxDevicesTypesNb"],[1,5,1,"_CPPv4N6HAMqtt16_messageCallbackE","HAMqtt::_messageCallback"],[1,5,1,"_CPPv4N6HAMqtt5_mqttE","HAMqtt::_mqtt"],[1,5,1,"_CPPv4N6HAMqtt9_passwordE","HAMqtt::_password"],[1,5,1,"_CPPv4N6HAMqtt21_stateChangedCallbackE","HAMqtt::_stateChangedCallback"],[1,5,1,"_CPPv4N6HAMqtt9_usernameE","HAMqtt::_username"],[1,3,1,"_CPPv4N6HAMqtt13addDeviceTypeEP16HABaseDeviceType","HAMqtt::addDeviceType"],[1,4,1,"_CPPv4N6HAMqtt13addDeviceTypeEP16HABaseDeviceType","HAMqtt::addDeviceType::deviceType"],[1,3,1,"_CPPv4N6HAMqtt5beginEK9IPAddressK8uint16_tPKcPKc","HAMqtt::begin"],[1,3,1,"_CPPv4N6HAMqtt5beginEK9IPAddressPKcPKc","HAMqtt::begin"],[1,3,1,"_CPPv4N6HAMqtt5beginEPKcK8uint16_tPKcPKc","HAMqtt::begin"],[1,3,1,"_CPPv4N6HAMqtt5beginEPKcPKcPKc","HAMqtt::begin"],[1,4,1,"_CPPv4N6HAMqtt5beginEK9IPAddressK8uint16_tPKcPKc","HAMqtt::begin::password"],[1,4,1,"_CPPv4N6HAMqtt5beginEK9IPAddressPKcPKc","HAMqtt::begin::password"],[1,4,1,"_CPPv4N6HAMqtt5beginEPKcK8uint16_tPKcPKc","HAMqtt::begin::password"],[1,4,1,"_CPPv4N6HAMqtt5beginEPKcPKcPKc","HAMqtt::begin::password"],[1,4,1,"_CPPv4N6HAMqtt5beginEPKcK8uint16_tPKcPKc","HAMqtt::begin::serverHostname"],[1,4,1,"_CPPv4N6HAMqtt5beginEPKcPKcPKc","HAMqtt::begin::serverHostname"],[1,4,1,"_CPPv4N6HAMqtt5beginEK9IPAddressK8uint16_tPKcPKc","HAMqtt::begin::serverIp"],[1,4,1,"_CPPv4N6HAMqtt5beginEK9IPAddressPKcPKc","HAMqtt::begin::serverIp"],[1,4,1,"_CPPv4N6HAMqtt5beginEK9IPAddressK8uint16_tPKcPKc","HAMqtt::begin::serverPort"],[1,4,1,"_CPPv4N6HAMqtt5beginEPKcK8uint16_tPKcPKc","HAMqtt::begin::serverPort"],[1,4,1,"_CPPv4N6HAMqtt5beginEK9IPAddressK8uint16_tPKcPKc","HAMqtt::begin::username"],[1,4,1,"_CPPv4N6HAMqtt5beginEK9IPAddressPKcPKc","HAMqtt::begin::username"],[1,4,1,"_CPPv4N6HAMqtt5beginEPKcK8uint16_tPKcPKc","HAMqtt::begin::username"],[1,4,1,"_CPPv4N6HAMqtt5beginEPKcPKcPKc","HAMqtt::begin::username"],[1,3,1,"_CPPv4N6HAMqtt12beginPublishEPKc8uint16_tb","HAMqtt::beginPublish"],[1,4,1,"_CPPv4N6HAMqtt12beginPublishEPKc8uint16_tb","HAMqtt::beginPublish::payloadLength"],[1,4,1,"_CPPv4N6HAMqtt12beginPublishEPKc8uint16_tb","HAMqtt::beginPublish::retained"],[1,4,1,"_CPPv4N6HAMqtt12beginPublishEPKc8uint16_tb","HAMqtt::beginPublish::topic"],[1,3,1,"_CPPv4N6HAMqtt15connectToServerEv","HAMqtt::connectToServer"],[1,3,1,"_CPPv4N6HAMqtt10disconnectEv","HAMqtt::disconnect"],[1,3,1,"_CPPv4N6HAMqtt10endPublishEv","HAMqtt::endPublish"],[1,3,1,"_CPPv4NK6HAMqtt13getDataPrefixEv","HAMqtt::getDataPrefix"],[1,3,1,"_CPPv4NK6HAMqtt9getDeviceEv","HAMqtt::getDevice"],[1,3,1,"_CPPv4NK6HAMqtt18getDiscoveryPrefixEv","HAMqtt::getDiscoveryPrefix"],[1,3,1,"_CPPv4NK6HAMqtt8getStateEv","HAMqtt::getState"],[1,3,1,"_CPPv4N6HAMqtt8instanceEv","HAMqtt::instance"],[1,3,1,"_CPPv4NK6HAMqtt11isConnectedEv","HAMqtt::isConnected"],[1,3,1,"_CPPv4N6HAMqtt4loopEv","HAMqtt::loop"],[1,3,1,"_CPPv4N6HAMqtt11onConnectedEPFvvE","HAMqtt::onConnected"],[1,4,1,"_CPPv4N6HAMqtt11onConnectedEPFvvE","HAMqtt::onConnected::callback"],[1,3,1,"_CPPv4N6HAMqtt16onConnectedLogicEv","HAMqtt::onConnectedLogic"],[1,3,1,"_CPPv4N6HAMqtt14onDisconnectedEPFvvE","HAMqtt::onDisconnected"],[1,4,1,"_CPPv4N6HAMqtt14onDisconnectedEPFvvE","HAMqtt::onDisconnected::callback"],[1,3,1,"_CPPv4N6HAMqtt9onMessageEPFvPKcPK7uint8_t8uint16_tE","HAMqtt::onMessage"],[1,4,1,"_CPPv4N6HAMqtt9onMessageEPFvPKcPK7uint8_t8uint16_tE","HAMqtt::onMessage::callback"],[1,3,1,"_CPPv4N6HAMqtt14onStateChangedEPFv15ConnectionStateE","HAMqtt::onStateChanged"],[1,4,1,"_CPPv4N6HAMqtt14onStateChangedEPFv15ConnectionStateE","HAMqtt::onStateChanged::callback"],[1,3,1,"_CPPv4N6HAMqtt14processMessageEPKcPK7uint8_t8uint16_t","HAMqtt::processMessage"],[1,4,1,"_CPPv4N6HAMqtt14processMessageEPKcPK7uint8_t8uint16_t","HAMqtt::processMessage::length"],[1,4,1,"_CPPv4N6HAMqtt14processMessageEPKcPK7uint8_t8uint16_t","HAMqtt::processMessage::payload"],[1,4,1,"_CPPv4N6HAMqtt14processMessageEPKcPK7uint8_t8uint16_t","HAMqtt::processMessage::topic"],[1,3,1,"_CPPv4N6HAMqtt7publishEPKcPKcb","HAMqtt::publish"],[1,4,1,"_CPPv4N6HAMqtt7publishEPKcPKcb","HAMqtt::publish::payload"],[1,4,1,"_CPPv4N6HAMqtt7publishEPKcPKcb","HAMqtt::publish::retained"],[1,4,1,"_CPPv4N6HAMqtt7publishEPKcPKcb","HAMqtt::publish::topic"],[1,3,1,"_CPPv4N6HAMqtt13setBufferSizeE8uint16_t","HAMqtt::setBufferSize"],[1,4,1,"_CPPv4N6HAMqtt13setBufferSizeE8uint16_t","HAMqtt::setBufferSize::size"],[1,3,1,"_CPPv4N6HAMqtt13setDataPrefixEPKc","HAMqtt::setDataPrefix"],[1,4,1,"_CPPv4N6HAMqtt13setDataPrefixEPKc","HAMqtt::setDataPrefix::prefix"],[1,3,1,"_CPPv4N6HAMqtt18setDiscoveryPrefixEPKc","HAMqtt::setDiscoveryPrefix"],[1,4,1,"_CPPv4N6HAMqtt18setDiscoveryPrefixEPKc","HAMqtt::setDiscoveryPrefix::prefix"],[1,3,1,"_CPPv4N6HAMqtt12setKeepAliveE8uint16_t","HAMqtt::setKeepAlive"],[1,4,1,"_CPPv4N6HAMqtt12setKeepAliveE8uint16_t","HAMqtt::setKeepAlive::keepAlive"],[1,3,1,"_CPPv4N6HAMqtt11setLastWillEPKcPKcb","HAMqtt::setLastWill"],[1,4,1,"_CPPv4N6HAMqtt11setLastWillEPKcPKcb","HAMqtt::setLastWill::lastWillMessage"],[1,4,1,"_CPPv4N6HAMqtt11setLastWillEPKcPKcb","HAMqtt::setLastWill::lastWillRetain"],[1,4,1,"_CPPv4N6HAMqtt11setLastWillEPKcPKcb","HAMqtt::setLastWill::lastWillTopic"],[1,3,1,"_CPPv4N6HAMqtt8setStateE15ConnectionState","HAMqtt::setState"],[1,4,1,"_CPPv4N6HAMqtt8setStateE15ConnectionState","HAMqtt::setState::state"],[1,3,1,"_CPPv4N6HAMqtt9subscribeEPKc","HAMqtt::subscribe"],[1,4,1,"_CPPv4N6HAMqtt9subscribeEPKc","HAMqtt::subscribe::topic"],[1,3,1,"_CPPv4N6HAMqtt12writePayloadEPK19__FlashStringHelper","HAMqtt::writePayload"],[1,3,1,"_CPPv4N6HAMqtt12writePayloadEPK7uint8_tK8uint16_t","HAMqtt::writePayload"],[1,3,1,"_CPPv4N6HAMqtt12writePayloadEPKcK8uint16_t","HAMqtt::writePayload"],[1,4,1,"_CPPv4N6HAMqtt12writePayloadEPK19__FlashStringHelper","HAMqtt::writePayload::data"],[1,4,1,"_CPPv4N6HAMqtt12writePayloadEPK7uint8_tK8uint16_t","HAMqtt::writePayload::data"],[1,4,1,"_CPPv4N6HAMqtt12writePayloadEPKcK8uint16_t","HAMqtt::writePayload::data"],[1,4,1,"_CPPv4N6HAMqtt12writePayloadEPK7uint8_tK8uint16_t","HAMqtt::writePayload::length"],[1,4,1,"_CPPv4N6HAMqtt12writePayloadEPKcK8uint16_t","HAMqtt::writePayload::length"],[1,3,1,"_CPPv4N6HAMqttD0Ev","HAMqtt::~HAMqtt"],[14,0,1,"_CPPv48HANumber","HANumber"],[14,3,1,"_CPPv4N8HANumber8HANumberEPKcK15NumberPrecision","HANumber::HANumber"],[14,4,1,"_CPPv4N8HANumber8HANumberEPKcK15NumberPrecision","HANumber::HANumber::precision"],[14,4,1,"_CPPv4N8HANumber8HANumberEPKcK15NumberPrecision","HANumber::HANumber::uniqueId"],[14,1,1,"_CPPv4N8HANumber4ModeE","HANumber::Mode"],[14,2,1,"_CPPv4N8HANumber4Mode8ModeAutoE","HANumber::Mode::ModeAuto"],[14,2,1,"_CPPv4N8HANumber4Mode7ModeBoxE","HANumber::Mode::ModeBox"],[14,2,1,"_CPPv4N8HANumber4Mode10ModeSliderE","HANumber::Mode::ModeSlider"],[14,2,1,"_CPPv4N8HANumber4Mode8ModeAutoE","HANumber::ModeAuto"],[14,2,1,"_CPPv4N8HANumber4Mode7ModeBoxE","HANumber::ModeBox"],[14,2,1,"_CPPv4N8HANumber4Mode10ModeSliderE","HANumber::ModeSlider"],[14,5,1,"_CPPv4N8HANumber6_classE","HANumber::_class"],[14,5,1,"_CPPv4N8HANumber16_commandCallbackE","HANumber::_commandCallback"],[14,5,1,"_CPPv4N8HANumber13_currentStateE","HANumber::_currentState"],[14,5,1,"_CPPv4N8HANumber5_iconE","HANumber::_icon"],[14,5,1,"_CPPv4N8HANumber9_maxValueE","HANumber::_maxValue"],[14,5,1,"_CPPv4N8HANumber9_minValueE","HANumber::_minValue"],[14,5,1,"_CPPv4N8HANumber5_modeE","HANumber::_mode"],[14,5,1,"_CPPv4N8HANumber11_optimisticE","HANumber::_optimistic"],[14,5,1,"_CPPv4N8HANumber10_precisionE","HANumber::_precision"],[14,5,1,"_CPPv4N8HANumber7_retainE","HANumber::_retain"],[14,5,1,"_CPPv4N8HANumber5_stepE","HANumber::_step"],[14,5,1,"_CPPv4N8HANumber18_unitOfMeasurementE","HANumber::_unitOfMeasurement"],[14,3,1,"_CPPv4N8HANumber15buildSerializerEv","HANumber::buildSerializer"],[14,3,1,"_CPPv4N8HANumber18getCommandTemplateEv","HANumber::getCommandTemplate"],[14,3,1,"_CPPv4NK8HANumber15getCurrentStateEv","HANumber::getCurrentState"],[14,3,1,"_CPPv4NK8HANumber15getModePropertyEv","HANumber::getModeProperty"],[14,3,1,"_CPPv4N8HANumber13handleCommandEPK7uint8_tK8uint16_t","HANumber::handleCommand"],[14,4,1,"_CPPv4N8HANumber13handleCommandEPK7uint8_tK8uint16_t","HANumber::handleCommand::cmd"],[14,4,1,"_CPPv4N8HANumber13handleCommandEPK7uint8_tK8uint16_t","HANumber::handleCommand::length"],[14,3,1,"_CPPv4N8HANumber9onCommandEPFv9HANumericP8HANumberE","HANumber::onCommand"],[14,4,1,"_CPPv4N8HANumber9onCommandEPFv9HANumericP8HANumberE","HANumber::onCommand::callback"],[14,3,1,"_CPPv4N8HANumber15onMqttConnectedEv","HANumber::onMqttConnected"],[14,3,1,"_CPPv4N8HANumber13onMqttMessageEPKcPK7uint8_tK8uint16_t","HANumber::onMqttMessage"],[14,4,1,"_CPPv4N8HANumber13onMqttMessageEPKcPK7uint8_tK8uint16_t","HANumber::onMqttMessage::length"],[14,4,1,"_CPPv4N8HANumber13onMqttMessageEPKcPK7uint8_tK8uint16_t","HANumber::onMqttMessage::payload"],[14,4,1,"_CPPv4N8HANumber13onMqttMessageEPKcPK7uint8_tK8uint16_t","HANumber::onMqttMessage::topic"],[14,3,1,"_CPPv4N8HANumber12publishStateERK9HANumeric","HANumber::publishState"],[14,4,1,"_CPPv4N8HANumber12publishStateERK9HANumeric","HANumber::publishState::state"],[14,3,1,"_CPPv4N8HANumber15setCurrentStateEK6int8_t","HANumber::setCurrentState"],[14,3,1,"_CPPv4N8HANumber15setCurrentStateEK7int16_t","HANumber::setCurrentState"],[14,3,1,"_CPPv4N8HANumber15setCurrentStateEK7int32_t","HANumber::setCurrentState"],[14,3,1,"_CPPv4N8HANumber15setCurrentStateEK7uint8_t","HANumber::setCurrentState"],[14,3,1,"_CPPv4N8HANumber15setCurrentStateEK8uint16_t","HANumber::setCurrentState"],[14,3,1,"_CPPv4N8HANumber15setCurrentStateEK8uint32_t","HANumber::setCurrentState"],[14,3,1,"_CPPv4N8HANumber15setCurrentStateEKf","HANumber::setCurrentState"],[14,3,1,"_CPPv4N8HANumber15setCurrentStateERK9HANumeric","HANumber::setCurrentState"],[14,4,1,"_CPPv4N8HANumber15setCurrentStateEK6int8_t","HANumber::setCurrentState::state"],[14,4,1,"_CPPv4N8HANumber15setCurrentStateEK7int16_t","HANumber::setCurrentState::state"],[14,4,1,"_CPPv4N8HANumber15setCurrentStateEK7int32_t","HANumber::setCurrentState::state"],[14,4,1,"_CPPv4N8HANumber15setCurrentStateEK7uint8_t","HANumber::setCurrentState::state"],[14,4,1,"_CPPv4N8HANumber15setCurrentStateEK8uint16_t","HANumber::setCurrentState::state"],[14,4,1,"_CPPv4N8HANumber15setCurrentStateEK8uint32_t","HANumber::setCurrentState::state"],[14,4,1,"_CPPv4N8HANumber15setCurrentStateEKf","HANumber::setCurrentState::state"],[14,4,1,"_CPPv4N8HANumber15setCurrentStateERK9HANumeric","HANumber::setCurrentState::state"],[14,3,1,"_CPPv4N8HANumber14setDeviceClassEPKc","HANumber::setDeviceClass"],[14,4,1,"_CPPv4N8HANumber14setDeviceClassEPKc","HANumber::setDeviceClass::deviceClass"],[14,3,1,"_CPPv4N8HANumber7setIconEPKc","HANumber::setIcon"],[14,4,1,"_CPPv4N8HANumber7setIconEPKc","HANumber::setIcon::icon"],[14,3,1,"_CPPv4N8HANumber6setMaxEKf","HANumber::setMax"],[14,4,1,"_CPPv4N8HANumber6setMaxEKf","HANumber::setMax::max"],[14,3,1,"_CPPv4N8HANumber6setMinEKf","HANumber::setMin"],[14,4,1,"_CPPv4N8HANumber6setMinEKf","HANumber::setMin::min"],[14,3,1,"_CPPv4N8HANumber7setModeEK4Mode","HANumber::setMode"],[14,4,1,"_CPPv4N8HANumber7setModeEK4Mode","HANumber::setMode::mode"],[14,3,1,"_CPPv4N8HANumber13setOptimisticEKb","HANumber::setOptimistic"],[14,4,1,"_CPPv4N8HANumber13setOptimisticEKb","HANumber::setOptimistic::optimistic"],[14,3,1,"_CPPv4N8HANumber9setRetainEKb","HANumber::setRetain"],[14,4,1,"_CPPv4N8HANumber9setRetainEKb","HANumber::setRetain::retain"],[14,3,1,"_CPPv4N8HANumber8setStateEK6int8_tKb","HANumber::setState"],[14,3,1,"_CPPv4N8HANumber8setStateEK7int16_tKb","HANumber::setState"],[14,3,1,"_CPPv4N8HANumber8setStateEK7int32_tKb","HANumber::setState"],[14,3,1,"_CPPv4N8HANumber8setStateEK7uint8_tKb","HANumber::setState"],[14,3,1,"_CPPv4N8HANumber8setStateEK8uint16_tKb","HANumber::setState"],[14,3,1,"_CPPv4N8HANumber8setStateEK8uint32_tKb","HANumber::setState"],[14,3,1,"_CPPv4N8HANumber8setStateEKfKb","HANumber::setState"],[14,3,1,"_CPPv4N8HANumber8setStateERK9HANumericKb","HANumber::setState"],[14,4,1,"_CPPv4N8HANumber8setStateEK6int8_tKb","HANumber::setState::force"],[14,4,1,"_CPPv4N8HANumber8setStateEK7int16_tKb","HANumber::setState::force"],[14,4,1,"_CPPv4N8HANumber8setStateEK7int32_tKb","HANumber::setState::force"],[14,4,1,"_CPPv4N8HANumber8setStateEK7uint8_tKb","HANumber::setState::force"],[14,4,1,"_CPPv4N8HANumber8setStateEK8uint16_tKb","HANumber::setState::force"],[14,4,1,"_CPPv4N8HANumber8setStateEK8uint32_tKb","HANumber::setState::force"],[14,4,1,"_CPPv4N8HANumber8setStateEKfKb","HANumber::setState::force"],[14,4,1,"_CPPv4N8HANumber8setStateERK9HANumericKb","HANumber::setState::force"],[14,4,1,"_CPPv4N8HANumber8setStateEK6int8_tKb","HANumber::setState::state"],[14,4,1,"_CPPv4N8HANumber8setStateEK7int16_tKb","HANumber::setState::state"],[14,4,1,"_CPPv4N8HANumber8setStateEK7int32_tKb","HANumber::setState::state"],[14,4,1,"_CPPv4N8HANumber8setStateEK7uint8_tKb","HANumber::setState::state"],[14,4,1,"_CPPv4N8HANumber8setStateEK8uint16_tKb","HANumber::setState::state"],[14,4,1,"_CPPv4N8HANumber8setStateEK8uint32_tKb","HANumber::setState::state"],[14,4,1,"_CPPv4N8HANumber8setStateEKfKb","HANumber::setState::state"],[14,4,1,"_CPPv4N8HANumber8setStateERK9HANumericKb","HANumber::setState::state"],[14,3,1,"_CPPv4N8HANumber7setStepEKf","HANumber::setStep"],[14,4,1,"_CPPv4N8HANumber7setStepEKf","HANumber::setStep::step"],[14,3,1,"_CPPv4N8HANumber20setUnitOfMeasurementEPKc","HANumber::setUnitOfMeasurement"],[14,4,1,"_CPPv4N8HANumber20setUnitOfMeasurementEPKc","HANumber::setUnitOfMeasurement::unitOfMeasurement"],[23,0,1,"_CPPv49HANumeric","HANumeric"],[23,3,1,"_CPPv4N9HANumeric9HANumericEK6int8_tK7uint8_t","HANumeric::HANumeric"],[23,3,1,"_CPPv4N9HANumeric9HANumericEK7int16_tK7uint8_t","HANumeric::HANumeric"],[23,3,1,"_CPPv4N9HANumeric9HANumericEK7int32_tK7uint8_t","HANumeric::HANumeric"],[23,3,1,"_CPPv4N9HANumeric9HANumericEK7int64_t","HANumeric::HANumeric"],[23,3,1,"_CPPv4N9HANumeric9HANumericEK7uint8_tK7uint8_t","HANumeric::HANumeric"],[23,3,1,"_CPPv4N9HANumeric9HANumericEK8uint16_tK7uint8_t","HANumeric::HANumeric"],[23,3,1,"_CPPv4N9HANumeric9HANumericEK8uint32_tK7uint8_t","HANumeric::HANumeric"],[23,3,1,"_CPPv4N9HANumeric9HANumericEKfK7uint8_t","HANumeric::HANumeric"],[23,3,1,"_CPPv4N9HANumeric9HANumericEv","HANumeric::HANumeric"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK6int8_tK7uint8_t","HANumeric::HANumeric::precision"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK7int16_tK7uint8_t","HANumeric::HANumeric::precision"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK7int32_tK7uint8_t","HANumeric::HANumeric::precision"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK7uint8_tK7uint8_t","HANumeric::HANumeric::precision"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK8uint16_tK7uint8_t","HANumeric::HANumeric::precision"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK8uint32_tK7uint8_t","HANumeric::HANumeric::precision"],[23,4,1,"_CPPv4N9HANumeric9HANumericEKfK7uint8_t","HANumeric::HANumeric::precision"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK6int8_tK7uint8_t","HANumeric::HANumeric::value"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK7int16_tK7uint8_t","HANumeric::HANumeric::value"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK7int32_tK7uint8_t","HANumeric::HANumeric::value"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK7int64_t","HANumeric::HANumeric::value"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK7uint8_tK7uint8_t","HANumeric::HANumeric::value"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK8uint16_tK7uint8_t","HANumeric::HANumeric::value"],[23,4,1,"_CPPv4N9HANumeric9HANumericEK8uint32_tK7uint8_t","HANumeric::HANumeric::value"],[23,4,1,"_CPPv4N9HANumeric9HANumericEKfK7uint8_t","HANumeric::HANumeric::value"],[23,5,1,"_CPPv4N9HANumeric11MaxDigitsNbE","HANumeric::MaxDigitsNb"],[23,5,1,"_CPPv4N9HANumeric6_isSetE","HANumeric::_isSet"],[23,5,1,"_CPPv4N9HANumeric10_precisionE","HANumeric::_precision"],[23,5,1,"_CPPv4N9HANumeric6_valueE","HANumeric::_value"],[23,3,1,"_CPPv4NK9HANumeric13calculateSizeEv","HANumeric::calculateSize"],[23,3,1,"_CPPv4N9HANumeric7fromStrEPK7uint8_tK8uint16_t","HANumeric::fromStr"],[23,4,1,"_CPPv4N9HANumeric7fromStrEPK7uint8_tK8uint16_t","HANumeric::fromStr::buffer"],[23,4,1,"_CPPv4N9HANumeric7fromStrEPK7uint8_tK8uint16_t","HANumeric::fromStr::length"],[23,3,1,"_CPPv4NK9HANumeric12getBaseValueEv","HANumeric::getBaseValue"],[23,3,1,"_CPPv4NK9HANumeric12getPrecisionEv","HANumeric::getPrecision"],[23,3,1,"_CPPv4NK9HANumeric16getPrecisionBaseEv","HANumeric::getPrecisionBase"],[23,3,1,"_CPPv4NK9HANumeric7isFloatEv","HANumeric::isFloat"],[23,3,1,"_CPPv4NK9HANumeric7isInt16Ev","HANumeric::isInt16"],[23,3,1,"_CPPv4NK9HANumeric7isInt32Ev","HANumeric::isInt32"],[23,3,1,"_CPPv4NK9HANumeric6isInt8Ev","HANumeric::isInt8"],[23,3,1,"_CPPv4NK9HANumeric5isSetEv","HANumeric::isSet"],[23,3,1,"_CPPv4NK9HANumeric8isUInt16Ev","HANumeric::isUInt16"],[23,3,1,"_CPPv4NK9HANumeric8isUInt32Ev","HANumeric::isUInt32"],[23,3,1,"_CPPv4NK9HANumeric7isUInt8Ev","HANumeric::isUInt8"],[23,3,1,"_CPPv4N9HANumericaSERK9HANumeric","HANumeric::operator="],[23,4,1,"_CPPv4N9HANumericaSERK9HANumeric","HANumeric::operator=::a"],[23,3,1,"_CPPv4NK9HANumericeqERK9HANumeric","HANumeric::operator=="],[23,4,1,"_CPPv4NK9HANumericeqERK9HANumeric","HANumeric::operator==::a"],[23,3,1,"_CPPv4N9HANumeric5resetEv","HANumeric::reset"],[23,3,1,"_CPPv4N9HANumeric12setBaseValueE7int64_t","HANumeric::setBaseValue"],[23,4,1,"_CPPv4N9HANumeric12setBaseValueE7int64_t","HANumeric::setBaseValue::value"],[23,3,1,"_CPPv4N9HANumeric12setPrecisionEK7uint8_t","HANumeric::setPrecision"],[23,4,1,"_CPPv4N9HANumeric12setPrecisionEK7uint8_t","HANumeric::setPrecision::precision"],[23,3,1,"_CPPv4NK9HANumeric7toFloatEv","HANumeric::toFloat"],[23,3,1,"_CPPv4NK9HANumeric7toInt16Ev","HANumeric::toInt16"],[23,3,1,"_CPPv4NK9HANumeric7toInt32Ev","HANumeric::toInt32"],[23,3,1,"_CPPv4NK9HANumeric6toInt8Ev","HANumeric::toInt8"],[23,3,1,"_CPPv4NK9HANumeric5toStrEPc","HANumeric::toStr"],[23,4,1,"_CPPv4NK9HANumeric5toStrEPc","HANumeric::toStr::dst"],[23,3,1,"_CPPv4NK9HANumeric8toUInt16Ev","HANumeric::toUInt16"],[23,3,1,"_CPPv4NK9HANumeric8toUInt32Ev","HANumeric::toUInt32"],[23,3,1,"_CPPv4NK9HANumeric7toUInt8Ev","HANumeric::toUInt8"],[15,0,1,"_CPPv47HAScene","HAScene"],[15,3,1,"_CPPv4N7HAScene7HASceneEPKc","HAScene::HAScene"],[15,4,1,"_CPPv4N7HAScene7HASceneEPKc","HAScene::HAScene::uniqueId"],[15,5,1,"_CPPv4N7HAScene16_commandCallbackE","HAScene::_commandCallback"],[15,5,1,"_CPPv4N7HAScene5_iconE","HAScene::_icon"],[15,5,1,"_CPPv4N7HAScene7_retainE","HAScene::_retain"],[15,3,1,"_CPPv4N7HAScene15buildSerializerEv","HAScene::buildSerializer"],[15,3,1,"_CPPv4N7HAScene9onCommandEPFvP7HASceneE","HAScene::onCommand"],[15,4,1,"_CPPv4N7HAScene9onCommandEPFvP7HASceneE","HAScene::onCommand::callback"],[15,3,1,"_CPPv4N7HAScene15onMqttConnectedEv","HAScene::onMqttConnected"],[15,3,1,"_CPPv4N7HAScene13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAScene::onMqttMessage"],[15,4,1,"_CPPv4N7HAScene13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAScene::onMqttMessage::length"],[15,4,1,"_CPPv4N7HAScene13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAScene::onMqttMessage::payload"],[15,4,1,"_CPPv4N7HAScene13onMqttMessageEPKcPK7uint8_tK8uint16_t","HAScene::onMqttMessage::topic"],[15,3,1,"_CPPv4N7HAScene7setIconEPKc","HAScene::setIcon"],[15,4,1,"_CPPv4N7HAScene7setIconEPKc","HAScene::setIcon::icon"],[15,3,1,"_CPPv4N7HAScene9setRetainEKb","HAScene::setRetain"],[15,4,1,"_CPPv4N7HAScene9setRetainEKb","HAScene::setRetain::retain"],[16,0,1,"_CPPv48HASelect","HASelect"],[16,3,1,"_CPPv4N8HASelect8HASelectEPKc","HASelect::HASelect"],[16,4,1,"_CPPv4N8HASelect8HASelectEPKc","HASelect::HASelect::uniqueId"],[16,5,1,"_CPPv4N8HASelect16_commandCallbackE","HASelect::_commandCallback"],[16,5,1,"_CPPv4N8HASelect13_currentStateE","HASelect::_currentState"],[16,5,1,"_CPPv4N8HASelect5_iconE","HASelect::_icon"],[16,5,1,"_CPPv4N8HASelect11_optimisticE","HASelect::_optimistic"],[16,5,1,"_CPPv4N8HASelect8_optionsE","HASelect::_options"],[16,5,1,"_CPPv4N8HASelect7_retainE","HASelect::_retain"],[16,3,1,"_CPPv4N8HASelect15buildSerializerEv","HASelect::buildSerializer"],[16,3,1,"_CPPv4NK8HASelect20countOptionsInStringEPKc","HASelect::countOptionsInString"],[16,4,1,"_CPPv4NK8HASelect20countOptionsInStringEPKc","HASelect::countOptionsInString::options"],[16,3,1,"_CPPv4NK8HASelect16getCurrentOptionEv","HASelect::getCurrentOption"],[16,3,1,"_CPPv4NK8HASelect15getCurrentStateEv","HASelect::getCurrentState"],[16,3,1,"_CPPv4N8HASelect9onCommandEPFv6int8_tP8HASelectE","HASelect::onCommand"],[16,4,1,"_CPPv4N8HASelect9onCommandEPFv6int8_tP8HASelectE","HASelect::onCommand::callback"],[16,3,1,"_CPPv4N8HASelect15onMqttConnectedEv","HASelect::onMqttConnected"],[16,3,1,"_CPPv4N8HASelect13onMqttMessageEPKcPK7uint8_tK8uint16_t","HASelect::onMqttMessage"],[16,4,1,"_CPPv4N8HASelect13onMqttMessageEPKcPK7uint8_tK8uint16_t","HASelect::onMqttMessage::length"],[16,4,1,"_CPPv4N8HASelect13onMqttMessageEPKcPK7uint8_tK8uint16_t","HASelect::onMqttMessage::payload"],[16,4,1,"_CPPv4N8HASelect13onMqttMessageEPKcPK7uint8_tK8uint16_t","HASelect::onMqttMessage::topic"],[16,3,1,"_CPPv4N8HASelect12publishStateEK6int8_t","HASelect::publishState"],[16,4,1,"_CPPv4N8HASelect12publishStateEK6int8_t","HASelect::publishState::state"],[16,3,1,"_CPPv4N8HASelect15setCurrentStateEK6int8_t","HASelect::setCurrentState"],[16,4,1,"_CPPv4N8HASelect15setCurrentStateEK6int8_t","HASelect::setCurrentState::state"],[16,3,1,"_CPPv4N8HASelect7setIconEPKc","HASelect::setIcon"],[16,4,1,"_CPPv4N8HASelect7setIconEPKc","HASelect::setIcon::icon"],[16,3,1,"_CPPv4N8HASelect13setOptimisticEKb","HASelect::setOptimistic"],[16,4,1,"_CPPv4N8HASelect13setOptimisticEKb","HASelect::setOptimistic::optimistic"],[16,3,1,"_CPPv4N8HASelect10setOptionsEPKc","HASelect::setOptions"],[16,4,1,"_CPPv4N8HASelect10setOptionsEPKc","HASelect::setOptions::options"],[16,3,1,"_CPPv4N8HASelect9setRetainEKb","HASelect::setRetain"],[16,4,1,"_CPPv4N8HASelect9setRetainEKb","HASelect::setRetain::retain"],[16,3,1,"_CPPv4N8HASelect8setStateEK6int8_tKb","HASelect::setState"],[16,4,1,"_CPPv4N8HASelect8setStateEK6int8_tKb","HASelect::setState::force"],[16,4,1,"_CPPv4N8HASelect8setStateEK6int8_tKb","HASelect::setState::state"],[16,3,1,"_CPPv4N8HASelectD0Ev","HASelect::~HASelect"],[17,0,1,"_CPPv48HASensor","HASensor"],[17,2,1,"_CPPv4N8HASensor8Features15DefaultFeaturesE","HASensor::DefaultFeatures"],[17,1,1,"_CPPv4N8HASensor8FeaturesE","HASensor::Features"],[17,2,1,"_CPPv4N8HASensor8Features15DefaultFeaturesE","HASensor::Features::DefaultFeatures"],[17,2,1,"_CPPv4N8HASensor8Features21JsonAttributesFeatureE","HASensor::Features::JsonAttributesFeature"],[17,3,1,"_CPPv4N8HASensor8HASensorEPKcK8uint16_t","HASensor::HASensor"],[17,4,1,"_CPPv4N8HASensor8HASensorEPKcK8uint16_t","HASensor::HASensor::features"],[17,4,1,"_CPPv4N8HASensor8HASensorEPKcK8uint16_t","HASensor::HASensor::uniqueId"],[17,2,1,"_CPPv4N8HASensor8Features21JsonAttributesFeatureE","HASensor::JsonAttributesFeature"],[17,5,1,"_CPPv4N8HASensor12_deviceClassE","HASensor::_deviceClass"],[17,5,1,"_CPPv4N8HASensor12_expireAfterE","HASensor::_expireAfter"],[17,5,1,"_CPPv4N8HASensor9_featuresE","HASensor::_features"],[17,5,1,"_CPPv4N8HASensor12_forceUpdateE","HASensor::_forceUpdate"],[17,5,1,"_CPPv4N8HASensor5_iconE","HASensor::_icon"],[17,5,1,"_CPPv4N8HASensor11_stateClassE","HASensor::_stateClass"],[17,5,1,"_CPPv4N8HASensor18_unitOfMeasurementE","HASensor::_unitOfMeasurement"],[17,3,1,"_CPPv4N8HASensor15buildSerializerEv","HASensor::buildSerializer"],[17,3,1,"_CPPv4N8HASensor15onMqttConnectedEv","HASensor::onMqttConnected"],[17,3,1,"_CPPv4N8HASensor14setDeviceClassEPKc","HASensor::setDeviceClass"],[17,4,1,"_CPPv4N8HASensor14setDeviceClassEPKc","HASensor::setDeviceClass::deviceClass"],[17,3,1,"_CPPv4N8HASensor14setExpireAfterE8uint16_t","HASensor::setExpireAfter"],[17,4,1,"_CPPv4N8HASensor14setExpireAfterE8uint16_t","HASensor::setExpireAfter::expireAfter"],[17,3,1,"_CPPv4N8HASensor14setForceUpdateEb","HASensor::setForceUpdate"],[17,4,1,"_CPPv4N8HASensor14setForceUpdateEb","HASensor::setForceUpdate::forceUpdate"],[17,3,1,"_CPPv4N8HASensor7setIconEPKc","HASensor::setIcon"],[17,4,1,"_CPPv4N8HASensor7setIconEPKc","HASensor::setIcon::icon"],[17,3,1,"_CPPv4N8HASensor17setJsonAttributesEPKc","HASensor::setJsonAttributes"],[17,4,1,"_CPPv4N8HASensor17setJsonAttributesEPKc","HASensor::setJsonAttributes::json"],[17,3,1,"_CPPv4N8HASensor13setStateClassEPKc","HASensor::setStateClass"],[17,4,1,"_CPPv4N8HASensor13setStateClassEPKc","HASensor::setStateClass::stateClass"],[17,3,1,"_CPPv4N8HASensor20setUnitOfMeasurementEPKc","HASensor::setUnitOfMeasurement"],[17,4,1,"_CPPv4N8HASensor20setUnitOfMeasurementEPKc","HASensor::setUnitOfMeasurement::unitOfMeasurement"],[17,3,1,"_CPPv4N8HASensor8setValueEPKc","HASensor::setValue"],[17,4,1,"_CPPv4N8HASensor8setValueEPKc","HASensor::setValue::value"],[18,0,1,"_CPPv414HASensorNumber","HASensorNumber"],[18,3,1,"_CPPv4N14HASensorNumber14HASensorNumberEPKcK15NumberPrecisionK8uint16_t","HASensorNumber::HASensorNumber"],[18,4,1,"_CPPv4N14HASensorNumber14HASensorNumberEPKcK15NumberPrecisionK8uint16_t","HASensorNumber::HASensorNumber::features"],[18,4,1,"_CPPv4N14HASensorNumber14HASensorNumberEPKcK15NumberPrecisionK8uint16_t","HASensorNumber::HASensorNumber::precision"],[18,4,1,"_CPPv4N14HASensorNumber14HASensorNumberEPKcK15NumberPrecisionK8uint16_t","HASensorNumber::HASensorNumber::uniqueId"],[18,5,1,"_CPPv4N14HASensorNumber13_currentValueE","HASensorNumber::_currentValue"],[18,5,1,"_CPPv4N14HASensorNumber10_precisionE","HASensorNumber::_precision"],[18,3,1,"_CPPv4NK14HASensorNumber15getCurrentValueEv","HASensorNumber::getCurrentValue"],[18,3,1,"_CPPv4N14HASensorNumber15onMqttConnectedEv","HASensorNumber::onMqttConnected"],[18,3,1,"_CPPv4N14HASensorNumber12publishValueERK9HANumeric","HASensorNumber::publishValue"],[18,4,1,"_CPPv4N14HASensorNumber12publishValueERK9HANumeric","HASensorNumber::publishValue::value"],[18,3,1,"_CPPv4N14HASensorNumber15setCurrentValueEK6int8_t","HASensorNumber::setCurrentValue"],[18,3,1,"_CPPv4N14HASensorNumber15setCurrentValueEK7int16_t","HASensorNumber::setCurrentValue"],[18,3,1,"_CPPv4N14HASensorNumber15setCurrentValueEK7int32_t","HASensorNumber::setCurrentValue"],[18,3,1,"_CPPv4N14HASensorNumber15setCurrentValueEK7uint8_t","HASensorNumber::setCurrentValue"],[18,3,1,"_CPPv4N14HASensorNumber15setCurrentValueEK8uint16_t","HASensorNumber::setCurrentValue"],[18,3,1,"_CPPv4N14HASensorNumber15setCurrentValueEK8uint32_t","HASensorNumber::setCurrentValue"],[18,3,1,"_CPPv4N14HASensorNumber15setCurrentValueEKf","HASensorNumber::setCurrentValue"],[18,3,1,"_CPPv4N14HASensorNumber15setCurrentValueERK9HANumeric","HASensorNumber::setCurrentValue"],[18,4,1,"_CPPv4N14HASensorNumber15setCurrentValueEK6int8_t","HASensorNumber::setCurrentValue::value"],[18,4,1,"_CPPv4N14HASensorNumber15setCurrentValueEK7int16_t","HASensorNumber::setCurrentValue::value"],[18,4,1,"_CPPv4N14HASensorNumber15setCurrentValueEK7int32_t","HASensorNumber::setCurrentValue::value"],[18,4,1,"_CPPv4N14HASensorNumber15setCurrentValueEK7uint8_t","HASensorNumber::setCurrentValue::value"],[18,4,1,"_CPPv4N14HASensorNumber15setCurrentValueEK8uint16_t","HASensorNumber::setCurrentValue::value"],[18,4,1,"_CPPv4N14HASensorNumber15setCurrentValueEK8uint32_t","HASensorNumber::setCurrentValue::value"],[18,4,1,"_CPPv4N14HASensorNumber15setCurrentValueEKf","HASensorNumber::setCurrentValue::value"],[18,4,1,"_CPPv4N14HASensorNumber15setCurrentValueERK9HANumeric","HASensorNumber::setCurrentValue::value"],[18,3,1,"_CPPv4N14HASensorNumber8setValueEK6int8_tKb","HASensorNumber::setValue"],[18,3,1,"_CPPv4N14HASensorNumber8setValueEK7int16_tKb","HASensorNumber::setValue"],[18,3,1,"_CPPv4N14HASensorNumber8setValueEK7int32_tKb","HASensorNumber::setValue"],[18,3,1,"_CPPv4N14HASensorNumber8setValueEK7uint8_tKb","HASensorNumber::setValue"],[18,3,1,"_CPPv4N14HASensorNumber8setValueEK8uint16_tKb","HASensorNumber::setValue"],[18,3,1,"_CPPv4N14HASensorNumber8setValueEK8uint32_tKb","HASensorNumber::setValue"],[18,3,1,"_CPPv4N14HASensorNumber8setValueEKfKb","HASensorNumber::setValue"],[18,3,1,"_CPPv4N14HASensorNumber8setValueERK9HANumericKb","HASensorNumber::setValue"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK6int8_tKb","HASensorNumber::setValue::force"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK7int16_tKb","HASensorNumber::setValue::force"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK7int32_tKb","HASensorNumber::setValue::force"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK7uint8_tKb","HASensorNumber::setValue::force"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK8uint16_tKb","HASensorNumber::setValue::force"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK8uint32_tKb","HASensorNumber::setValue::force"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEKfKb","HASensorNumber::setValue::force"],[18,4,1,"_CPPv4N14HASensorNumber8setValueERK9HANumericKb","HASensorNumber::setValue::force"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK6int8_tKb","HASensorNumber::setValue::value"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK7int16_tKb","HASensorNumber::setValue::value"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK7int32_tKb","HASensorNumber::setValue::value"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK7uint8_tKb","HASensorNumber::setValue::value"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK8uint16_tKb","HASensorNumber::setValue::value"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEK8uint32_tKb","HASensorNumber::setValue::value"],[18,4,1,"_CPPv4N14HASensorNumber8setValueEKfKb","HASensorNumber::setValue::value"],[18,4,1,"_CPPv4N14HASensorNumber8setValueERK9HANumericKb","HASensorNumber::setValue::value"],[24,0,1,"_CPPv412HASerializer","HASerializer"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType17ArrayPropertyTypeE","HASerializer::ArrayPropertyType"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType16BoolPropertyTypeE","HASerializer::BoolPropertyType"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType22ConstCharPropertyValueE","HASerializer::ConstCharPropertyValue"],[24,1,1,"_CPPv4N12HASerializer9EntryTypeE","HASerializer::EntryType"],[24,2,1,"_CPPv4N12HASerializer9EntryType13FlagEntryTypeE","HASerializer::EntryType::FlagEntryType"],[24,2,1,"_CPPv4N12HASerializer9EntryType17PropertyEntryTypeE","HASerializer::EntryType::PropertyEntryType"],[24,2,1,"_CPPv4N12HASerializer9EntryType14TopicEntryTypeE","HASerializer::EntryType::TopicEntryType"],[24,2,1,"_CPPv4N12HASerializer9EntryType16UnknownEntryTypeE","HASerializer::EntryType::UnknownEntryType"],[24,2,1,"_CPPv4N12HASerializer9EntryType13FlagEntryTypeE","HASerializer::FlagEntryType"],[24,1,1,"_CPPv4N12HASerializer8FlagTypeE","HASerializer::FlagType"],[24,2,1,"_CPPv4N12HASerializer8FlagType16WithAvailabilityE","HASerializer::FlagType::WithAvailability"],[24,2,1,"_CPPv4N12HASerializer8FlagType10WithDeviceE","HASerializer::FlagType::WithDevice"],[24,2,1,"_CPPv4N12HASerializer8FlagType12WithUniqueIdE","HASerializer::FlagType::WithUniqueId"],[24,3,1,"_CPPv4N12HASerializer12HASerializerEP16HABaseDeviceTypeK7uint8_t","HASerializer::HASerializer"],[24,4,1,"_CPPv4N12HASerializer12HASerializerEP16HABaseDeviceTypeK7uint8_t","HASerializer::HASerializer::deviceType"],[24,4,1,"_CPPv4N12HASerializer12HASerializerEP16HABaseDeviceTypeK7uint8_t","HASerializer::HASerializer::maxEntriesNb"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType18NumberPropertyTypeE","HASerializer::NumberPropertyType"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType20ProgmemPropertyValueE","HASerializer::ProgmemPropertyValue"],[24,2,1,"_CPPv4N12HASerializer9EntryType17PropertyEntryTypeE","HASerializer::PropertyEntryType"],[24,1,1,"_CPPv4N12HASerializer17PropertyValueTypeE","HASerializer::PropertyValueType"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType17ArrayPropertyTypeE","HASerializer::PropertyValueType::ArrayPropertyType"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType16BoolPropertyTypeE","HASerializer::PropertyValueType::BoolPropertyType"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType22ConstCharPropertyValueE","HASerializer::PropertyValueType::ConstCharPropertyValue"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType18NumberPropertyTypeE","HASerializer::PropertyValueType::NumberPropertyType"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType20ProgmemPropertyValueE","HASerializer::PropertyValueType::ProgmemPropertyValue"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType24UnknownPropertyValueTypeE","HASerializer::PropertyValueType::UnknownPropertyValueType"],[24,0,1,"_CPPv4N12HASerializer15SerializerEntryE","HASerializer::SerializerEntry"],[24,3,1,"_CPPv4N12HASerializer15SerializerEntry15SerializerEntryEv","HASerializer::SerializerEntry::SerializerEntry"],[24,5,1,"_CPPv4N12HASerializer15SerializerEntry8propertyE","HASerializer::SerializerEntry::property"],[24,5,1,"_CPPv4N12HASerializer15SerializerEntry7subtypeE","HASerializer::SerializerEntry::subtype"],[24,5,1,"_CPPv4N12HASerializer15SerializerEntry4typeE","HASerializer::SerializerEntry::type"],[24,5,1,"_CPPv4N12HASerializer15SerializerEntry5valueE","HASerializer::SerializerEntry::value"],[24,2,1,"_CPPv4N12HASerializer9EntryType14TopicEntryTypeE","HASerializer::TopicEntryType"],[24,2,1,"_CPPv4N12HASerializer9EntryType16UnknownEntryTypeE","HASerializer::UnknownEntryType"],[24,2,1,"_CPPv4N12HASerializer17PropertyValueType24UnknownPropertyValueTypeE","HASerializer::UnknownPropertyValueType"],[24,2,1,"_CPPv4N12HASerializer8FlagType16WithAvailabilityE","HASerializer::WithAvailability"],[24,2,1,"_CPPv4N12HASerializer8FlagType10WithDeviceE","HASerializer::WithDevice"],[24,2,1,"_CPPv4N12HASerializer8FlagType12WithUniqueIdE","HASerializer::WithUniqueId"],[24,5,1,"_CPPv4N12HASerializer11_deviceTypeE","HASerializer::_deviceType"],[24,5,1,"_CPPv4N12HASerializer8_entriesE","HASerializer::_entries"],[24,5,1,"_CPPv4N12HASerializer10_entriesNbE","HASerializer::_entriesNb"],[24,5,1,"_CPPv4N12HASerializer13_maxEntriesNbE","HASerializer::_maxEntriesNb"],[24,3,1,"_CPPv4N12HASerializer8addEntryEv","HASerializer::addEntry"],[24,3,1,"_CPPv4NK12HASerializer18calculateArraySizeEPK17HASerializerArray","HASerializer::calculateArraySize"],[24,4,1,"_CPPv4NK12HASerializer18calculateArraySizeEPK17HASerializerArray","HASerializer::calculateArraySize::array"],[24,3,1,"_CPPv4N12HASerializer26calculateConfigTopicLengthEPK19__FlashStringHelperPKc","HASerializer::calculateConfigTopicLength"],[24,4,1,"_CPPv4N12HASerializer26calculateConfigTopicLengthEPK19__FlashStringHelperPKc","HASerializer::calculateConfigTopicLength::component"],[24,4,1,"_CPPv4N12HASerializer26calculateConfigTopicLengthEPK19__FlashStringHelperPKc","HASerializer::calculateConfigTopicLength::objectId"],[24,3,1,"_CPPv4N12HASerializer24calculateDataTopicLengthEPKcPK19__FlashStringHelper","HASerializer::calculateDataTopicLength"],[24,4,1,"_CPPv4N12HASerializer24calculateDataTopicLengthEPKcPK19__FlashStringHelper","HASerializer::calculateDataTopicLength::objectId"],[24,4,1,"_CPPv4N12HASerializer24calculateDataTopicLengthEPKcPK19__FlashStringHelper","HASerializer::calculateDataTopicLength::topic"],[24,3,1,"_CPPv4NK12HASerializer18calculateEntrySizeEPK15SerializerEntry","HASerializer::calculateEntrySize"],[24,4,1,"_CPPv4NK12HASerializer18calculateEntrySizeEPK15SerializerEntry","HASerializer::calculateEntrySize::entry"],[24,3,1,"_CPPv4NK12HASerializer17calculateFlagSizeEK8FlagType","HASerializer::calculateFlagSize"],[24,4,1,"_CPPv4NK12HASerializer17calculateFlagSizeEK8FlagType","HASerializer::calculateFlagSize::flag"],[24,3,1,"_CPPv4NK12HASerializer26calculatePropertyValueSizeEPK15SerializerEntry","HASerializer::calculatePropertyValueSize"],[24,4,1,"_CPPv4NK12HASerializer26calculatePropertyValueSizeEPK15SerializerEntry","HASerializer::calculatePropertyValueSize::entry"],[24,3,1,"_CPPv4NK12HASerializer13calculateSizeEv","HASerializer::calculateSize"],[24,3,1,"_CPPv4NK12HASerializer23calculateTopicEntrySizeEPK15SerializerEntry","HASerializer::calculateTopicEntrySize"],[24,4,1,"_CPPv4NK12HASerializer23calculateTopicEntrySizeEPK15SerializerEntry","HASerializer::calculateTopicEntrySize::entry"],[24,3,1,"_CPPv4N12HASerializer17compareDataTopicsEPKcPKcPK19__FlashStringHelper","HASerializer::compareDataTopics"],[24,4,1,"_CPPv4N12HASerializer17compareDataTopicsEPKcPKcPK19__FlashStringHelper","HASerializer::compareDataTopics::actualTopic"],[24,4,1,"_CPPv4N12HASerializer17compareDataTopicsEPKcPKcPK19__FlashStringHelper","HASerializer::compareDataTopics::objectId"],[24,4,1,"_CPPv4N12HASerializer17compareDataTopicsEPKcPKcPK19__FlashStringHelper","HASerializer::compareDataTopics::topic"],[24,3,1,"_CPPv4NK12HASerializer5flushEv","HASerializer::flush"],[24,3,1,"_CPPv4NK12HASerializer10flushEntryEPK15SerializerEntry","HASerializer::flushEntry"],[24,4,1,"_CPPv4NK12HASerializer10flushEntryEPK15SerializerEntry","HASerializer::flushEntry::entry"],[24,3,1,"_CPPv4NK12HASerializer15flushEntryValueEPK15SerializerEntry","HASerializer::flushEntryValue"],[24,4,1,"_CPPv4NK12HASerializer15flushEntryValueEPK15SerializerEntry","HASerializer::flushEntryValue::entry"],[24,3,1,"_CPPv4NK12HASerializer9flushFlagEPK15SerializerEntry","HASerializer::flushFlag"],[24,4,1,"_CPPv4NK12HASerializer9flushFlagEPK15SerializerEntry","HASerializer::flushFlag::entry"],[24,3,1,"_CPPv4NK12HASerializer10flushTopicEPK15SerializerEntry","HASerializer::flushTopic"],[24,4,1,"_CPPv4NK12HASerializer10flushTopicEPK15SerializerEntry","HASerializer::flushTopic::entry"],[24,3,1,"_CPPv4N12HASerializer19generateConfigTopicEPcPK19__FlashStringHelperPKc","HASerializer::generateConfigTopic"],[24,4,1,"_CPPv4N12HASerializer19generateConfigTopicEPcPK19__FlashStringHelperPKc","HASerializer::generateConfigTopic::component"],[24,4,1,"_CPPv4N12HASerializer19generateConfigTopicEPcPK19__FlashStringHelperPKc","HASerializer::generateConfigTopic::objectId"],[24,4,1,"_CPPv4N12HASerializer19generateConfigTopicEPcPK19__FlashStringHelperPKc","HASerializer::generateConfigTopic::output"],[24,3,1,"_CPPv4N12HASerializer17generateDataTopicEPcPKcPK19__FlashStringHelper","HASerializer::generateDataTopic"],[24,4,1,"_CPPv4N12HASerializer17generateDataTopicEPcPKcPK19__FlashStringHelper","HASerializer::generateDataTopic::objectId"],[24,4,1,"_CPPv4N12HASerializer17generateDataTopicEPcPKcPK19__FlashStringHelper","HASerializer::generateDataTopic::output"],[24,4,1,"_CPPv4N12HASerializer17generateDataTopicEPcPKcPK19__FlashStringHelper","HASerializer::generateDataTopic::topic"],[24,3,1,"_CPPv4NK12HASerializer10getEntriesEv","HASerializer::getEntries"],[24,3,1,"_CPPv4NK12HASerializer12getEntriesNbEv","HASerializer::getEntriesNb"],[24,3,1,"_CPPv4N12HASerializer3setEK8FlagType","HASerializer::set"],[24,3,1,"_CPPv4N12HASerializer3setEPK19__FlashStringHelperPKv17PropertyValueType","HASerializer::set"],[24,4,1,"_CPPv4N12HASerializer3setEK8FlagType","HASerializer::set::flag"],[24,4,1,"_CPPv4N12HASerializer3setEPK19__FlashStringHelperPKv17PropertyValueType","HASerializer::set::property"],[24,4,1,"_CPPv4N12HASerializer3setEPK19__FlashStringHelperPKv17PropertyValueType","HASerializer::set::value"],[24,4,1,"_CPPv4N12HASerializer3setEPK19__FlashStringHelperPKv17PropertyValueType","HASerializer::set::valueType"],[24,3,1,"_CPPv4N12HASerializer5topicEPK19__FlashStringHelper","HASerializer::topic"],[24,4,1,"_CPPv4N12HASerializer5topicEPK19__FlashStringHelper","HASerializer::topic::topic"],[24,3,1,"_CPPv4N12HASerializerD0Ev","HASerializer::~HASerializer"],[25,0,1,"_CPPv417HASerializerArray","HASerializerArray"],[25,3,1,"_CPPv4N17HASerializerArray17HASerializerArrayEK7uint8_tKb","HASerializerArray::HASerializerArray"],[25,4,1,"_CPPv4N17HASerializerArray17HASerializerArrayEK7uint8_tKb","HASerializerArray::HASerializerArray::progmemItems"],[25,4,1,"_CPPv4N17HASerializerArray17HASerializerArrayEK7uint8_tKb","HASerializerArray::HASerializerArray::size"],[25,6,1,"_CPPv4N17HASerializerArray8ItemTypeE","HASerializerArray::ItemType"],[25,5,1,"_CPPv4N17HASerializerArray6_itemsE","HASerializerArray::_items"],[25,5,1,"_CPPv4N17HASerializerArray8_itemsNbE","HASerializerArray::_itemsNb"],[25,5,1,"_CPPv4N17HASerializerArray13_progmemItemsE","HASerializerArray::_progmemItems"],[25,5,1,"_CPPv4N17HASerializerArray5_sizeE","HASerializerArray::_size"],[25,3,1,"_CPPv4N17HASerializerArray3addE8ItemType","HASerializerArray::add"],[25,4,1,"_CPPv4N17HASerializerArray3addE8ItemType","HASerializerArray::add::item"],[25,3,1,"_CPPv4NK17HASerializerArray13calculateSizeEv","HASerializerArray::calculateSize"],[25,3,1,"_CPPv4N17HASerializerArray5clearEv","HASerializerArray::clear"],[25,3,1,"_CPPv4NK17HASerializerArray7getItemEK7uint8_t","HASerializerArray::getItem"],[25,4,1,"_CPPv4NK17HASerializerArray7getItemEK7uint8_t","HASerializerArray::getItem::index"],[25,3,1,"_CPPv4NK17HASerializerArray8getItemsEv","HASerializerArray::getItems"],[25,3,1,"_CPPv4NK17HASerializerArray10getItemsNbEv","HASerializerArray::getItemsNb"],[25,3,1,"_CPPv4NK17HASerializerArray9serializeEPc","HASerializerArray::serialize"],[25,4,1,"_CPPv4NK17HASerializerArray9serializeEPc","HASerializerArray::serialize::output"],[25,3,1,"_CPPv4N17HASerializerArrayD0Ev","HASerializerArray::~HASerializerArray"],[19,0,1,"_CPPv48HASwitch","HASwitch"],[19,3,1,"_CPPv4N8HASwitch8HASwitchEPKc","HASwitch::HASwitch"],[19,4,1,"_CPPv4N8HASwitch8HASwitchEPKc","HASwitch::HASwitch::uniqueId"],[19,5,1,"_CPPv4N8HASwitch6_classE","HASwitch::_class"],[19,5,1,"_CPPv4N8HASwitch16_commandCallbackE","HASwitch::_commandCallback"],[19,5,1,"_CPPv4N8HASwitch13_currentStateE","HASwitch::_currentState"],[19,5,1,"_CPPv4N8HASwitch5_iconE","HASwitch::_icon"],[19,5,1,"_CPPv4N8HASwitch11_optimisticE","HASwitch::_optimistic"],[19,5,1,"_CPPv4N8HASwitch7_retainE","HASwitch::_retain"],[19,3,1,"_CPPv4N8HASwitch15buildSerializerEv","HASwitch::buildSerializer"],[19,3,1,"_CPPv4NK8HASwitch15getCurrentStateEv","HASwitch::getCurrentState"],[19,3,1,"_CPPv4N8HASwitch9onCommandEPFvbP8HASwitchE","HASwitch::onCommand"],[19,4,1,"_CPPv4N8HASwitch9onCommandEPFvbP8HASwitchE","HASwitch::onCommand::callback"],[19,3,1,"_CPPv4N8HASwitch15onMqttConnectedEv","HASwitch::onMqttConnected"],[19,3,1,"_CPPv4N8HASwitch13onMqttMessageEPKcPK7uint8_tK8uint16_t","HASwitch::onMqttMessage"],[19,4,1,"_CPPv4N8HASwitch13onMqttMessageEPKcPK7uint8_tK8uint16_t","HASwitch::onMqttMessage::length"],[19,4,1,"_CPPv4N8HASwitch13onMqttMessageEPKcPK7uint8_tK8uint16_t","HASwitch::onMqttMessage::payload"],[19,4,1,"_CPPv4N8HASwitch13onMqttMessageEPKcPK7uint8_tK8uint16_t","HASwitch::onMqttMessage::topic"],[19,3,1,"_CPPv4N8HASwitch12publishStateEKb","HASwitch::publishState"],[19,4,1,"_CPPv4N8HASwitch12publishStateEKb","HASwitch::publishState::state"],[19,3,1,"_CPPv4N8HASwitch15setCurrentStateEKb","HASwitch::setCurrentState"],[19,4,1,"_CPPv4N8HASwitch15setCurrentStateEKb","HASwitch::setCurrentState::state"],[19,3,1,"_CPPv4N8HASwitch14setDeviceClassEPKc","HASwitch::setDeviceClass"],[19,4,1,"_CPPv4N8HASwitch14setDeviceClassEPKc","HASwitch::setDeviceClass::deviceClass"],[19,3,1,"_CPPv4N8HASwitch7setIconEPKc","HASwitch::setIcon"],[19,4,1,"_CPPv4N8HASwitch7setIconEPKc","HASwitch::setIcon::icon"],[19,3,1,"_CPPv4N8HASwitch13setOptimisticEKb","HASwitch::setOptimistic"],[19,4,1,"_CPPv4N8HASwitch13setOptimisticEKb","HASwitch::setOptimistic::optimistic"],[19,3,1,"_CPPv4N8HASwitch9setRetainEKb","HASwitch::setRetain"],[19,4,1,"_CPPv4N8HASwitch9setRetainEKb","HASwitch::setRetain::retain"],[19,3,1,"_CPPv4N8HASwitch8setStateEKbKb","HASwitch::setState"],[19,4,1,"_CPPv4N8HASwitch8setStateEKbKb","HASwitch::setState::force"],[19,4,1,"_CPPv4N8HASwitch8setStateEKbKb","HASwitch::setState::state"],[19,3,1,"_CPPv4N8HASwitch7turnOffEv","HASwitch::turnOff"],[19,3,1,"_CPPv4N8HASwitch6turnOnEv","HASwitch::turnOn"],[20,0,1,"_CPPv412HATagScanner","HATagScanner"],[20,3,1,"_CPPv4N12HATagScanner12HATagScannerEPKc","HATagScanner::HATagScanner"],[20,4,1,"_CPPv4N12HATagScanner12HATagScannerEPKc","HATagScanner::HATagScanner::uniqueId"],[20,3,1,"_CPPv4N12HATagScanner15buildSerializerEv","HATagScanner::buildSerializer"],[20,3,1,"_CPPv4N12HATagScanner15onMqttConnectedEv","HATagScanner::onMqttConnected"],[20,3,1,"_CPPv4N12HATagScanner10tagScannedEPKc","HATagScanner::tagScanned"],[20,4,1,"_CPPv4N12HATagScanner10tagScannedEPKc","HATagScanner::tagScanned::tag"],[26,0,1,"_CPPv47HAUtils","HAUtils"],[26,3,1,"_CPPv4N7HAUtils14byteArrayToStrEPK4byteK8uint16_t","HAUtils::byteArrayToStr"],[26,3,1,"_CPPv4N7HAUtils14byteArrayToStrEPcPK4byteK8uint16_t","HAUtils::byteArrayToStr"],[26,4,1,"_CPPv4N7HAUtils14byteArrayToStrEPcPK4byteK8uint16_t","HAUtils::byteArrayToStr::dst"],[26,4,1,"_CPPv4N7HAUtils14byteArrayToStrEPK4byteK8uint16_t","HAUtils::byteArrayToStr::length"],[26,4,1,"_CPPv4N7HAUtils14byteArrayToStrEPcPK4byteK8uint16_t","HAUtils::byteArrayToStr::length"],[26,4,1,"_CPPv4N7HAUtils14byteArrayToStrEPK4byteK8uint16_t","HAUtils::byteArrayToStr::src"],[26,4,1,"_CPPv4N7HAUtils14byteArrayToStrEPcPK4byteK8uint16_t","HAUtils::byteArrayToStr::src"],[26,3,1,"_CPPv4N7HAUtils8endsWithEPKcPKc","HAUtils::endsWith"],[26,4,1,"_CPPv4N7HAUtils8endsWithEPKcPKc","HAUtils::endsWith::str"],[26,4,1,"_CPPv4N7HAUtils8endsWithEPKcPKc","HAUtils::endsWith::suffix"]]},objnames:{"0":["cpp","class","C++ class"],"1":["cpp","enum","C++ enum"],"2":["cpp","enumerator","C++ enumerator"],"3":["cpp","function","C++ function"],"4":["cpp","functionParam","C++ function parameter"],"5":["cpp","member","C++ member"],"6":["cpp","type","C++ type"]},objtypes:{"0":"cpp:class","1":"cpp:enum","2":"cpp:enumerator","3":"cpp:function","4":"cpp:functionParam","5":"cpp:member","6":"cpp:type"},terms:{"0":[3,7,10,12,14,31,36,41],"001":14,"0010fa6e384a":37,"0010fa6e384a_myvalv":37,"01":[28,37],"0x00":[33,35,36,37,38,40,41,42],"0x05":36,"0x10":[33,35,36,37,38,40,41,42],"0x1f":36,"0x38":[33,35,36,37,38,40,41,42],"0x4a":[33,35,36,37,38,40,41,42],"0x6e":[33,35,36,37,38,40,41,42],"0x8c":36,"0x9f":36,"0xb4":36,"0xbe":36,"0xc6":36,"0xc7":36,"0xce":36,"0xfa":[33,35,36,37,38,40,41,42],"1":[10,11,16,23,31,35,40,41,42],"10":23,"100":[7,10],"10000":1,"123":[23,36],"1234":[23,36],"15":[1,41],"153":12,"168":[35,36,40,41,42],"1883":[1,35],"192":[35,36,40,41,42],"2":[26,31,33],"24":[1,37],"255":12,"256":[1,41],"32768":7,"33":[28,29],"4":23,"40":37,"5":33,"50":[35,40,41,42],"500":[12,40],"512":41,"55":36,"5m":1,"6":[31,37],"60":41,"8":31,"8888":35,"break":37,"byte":[0,1,23,26,33,35,37,38,40,41,42],"case":[1,33,38],"char":[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26,38,41],"class":[2,21,22,27,28,34,35,36,37,38,40,41,43],"const":[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26,38,41],"default":[1,4,6,7,8,10,11,12,13,14,16,17,18,19,23,32,33,35,37,38,41,42],"do":1,"enum":[1,3,6,7,8,9,10,11,12,13,14,17,24],"final":[0,17],"float":[11,14,18,23],"function":[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26],"long":[17,28,33],"new":[1,3,4,7,8,10,11,12,13,14,15,16,18,19,24,25,26,30,37],"null":[0,1,16,23,25],"public":[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26],"return":[0,1,3,4,6,7,8,9,10,11,12,13,14,16,17,18,19,20,23,24,25,26],"short":[0,3,36],"static":[1,3,7,11,12,23,24,25,26],"switch":[1,9,19,28,29,33,36,37,38],"true":[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,25,26,33,41],"try":[1,28,36],"void":[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26,33,35,36,37,38,40,41,42],"while":[37,40],A:[16,29],By:[1,4,6,7,8,10,11,12,13,14,16,17,18,19,33,37,42],For:[9,14,16,17,23,31,33],If:[0,1,5,7,8,9,10,11,12,13,14,15,16,17,19,23,24,25,30,31],In:[1,7,10,12,13,14,16,19,33,38],It:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25,28,34,40],Its:[24,37],No:3,OR:12,On:37,One:3,THe:[3,18],That:[33,38],The:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,28,29,31,32,33,34,35,36,37,38,41,42,43],Then:31,There:[31,33,36,38],These:37,To:[31,34,37],Will:[29,43],With:36,_:24,__flashstringhelp:[1,3,6,8,11,14,24],_action:11,_auxcallback:11,_auxstat:11,_avail:[0,3],_availabilitytop:0,_brightnesscallback:12,_brightnessscal:12,_class:[4,5,7,14,19],_colortemperaturecallback:12,_commandcallback:[5,7,13,14,15,16,19],_componentnam:3,_connectedcallback:1,_currentbright:12,_currentcolortemperatur:12,_currentposit:7,_currentrgbcolor:12,_currentspe:10,_currentst:[1,4,7,8,10,12,13,14,16,19],_currenttemperatur:11,_currentvalu:18,_dataprefix:1,_devic:1,_deviceclass:17,_devicestyp:1,_devicestypesnb:1,_devicetyp:24,_disconnectedcallback:1,_discoveryprefix:1,_encod:6,_entri:24,_entriesnb:24,_expireaft:[4,17],_extendeduniqueid:0,_fanmod:11,_fanmodecallback:11,_fanmodesseri:11,_featur:[7,10,11,12,17],_forceupd:17,_icon:[4,5,6,7,8,10,11,12,13,14,15,16,17,19],_initi:1,_instanc:1,_isprogmemsubtyp:9,_isprogmemtyp:9,_isset:23,_item:25,_itemsnb:25,_lastconnectionattemptat:1,_lastwillmessag:1,_lastwillretain:1,_lastwilltop:1,_maxdevicestypesnb:1,_maxentriesnb:24,_maxmir:12,_maxtemp:11,_maxvalu:14,_messagecallback:1,_minmir:12,_mintemp:11,_minvalu:14,_mode:[11,14],_modecallback:11,_modesseri:11,_mqtt:1,_name:3,_objectid:3,_optimist:[7,10,12,13,14,16,19],_option:16,_ownsuniqueid:0,_password:1,_powercallback:11,_precis:[11,14,18,23],_progmemitem:25,_retain:[5,7,10,11,12,13,14,15,16,19],_rgbcolorcallback:12,_serial:[0,3],_sharedavail:0,_size:25,_sourcetyp:8,_speedcallback:10,_speedrangemax:10,_speedrangemin:10,_statecallback:[10,12],_statechangedcallback:1,_stateclass:17,_step:14,_subtyp:9,_swingmod:11,_swingmodecallback:11,_swingmodesseri:11,_targettemperatur:11,_targettemperaturecallback:11,_temperatureunit:11,_tempstep:11,_type:9,_uniqueid:[0,3],_unitofmeasur:[14,17],_usernam:1,_valu:23,abc:36,about:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],abov:[11,14,18,37],accept:[11,14,18,36],access:[37,42],acquir:[0,1,3,4,7,8,10,11,12,13,14,16,18,19,38],across:[23,37],act:32,action:[9,11],actionfeatur:11,activ:15,actual:24,actualtop:24,ad:[10,12,23,24,25,29,43],add:[1,14,15,16,24,25,31],adddevicetyp:1,addentri:24,addon:32,address:[1,36,37,40],admin:1,advanc:[29,31,39,43],advis:[36,37],after:[1,3,4,17,32,38,40],against:42,aha:[1,38],alarm:37,alia:[10,12,19],aliv:[1,41],all:[0,1,3,30,32,33,35,36,38,39],alloc:[0,9,11,24,25,26],allow:[4,6,7,8,9,10,12,13,17,18,19,20,24,29,33,35,36,39,41,43],alphanumer:36,alreadi:40,also:[1,3,33,35,41,42],alter:37,alwai:[1,3],amount:[1,16,37],an:[0,1,6,11,14,18,23,29,31,32,36,37,41,43],analog:29,analysi:42,ani:[0,1,3,4,5,6,7,8,10,11,12,13,14,15,16,17,19,28,36,37],anonym:1,anoth:40,anoym:35,anyth:30,api:[1,28,36,37,43],appear:[36,37],appli:14,applic:40,approach:[24,31,36],ar:[1,16,25,31,34,36,37,38,40],arduino:[5,28,29,30,37,39,42,43],arduinoha:[30,32,33,35,36,37,38,40,41,42],arduinoha_debug:34,arduinohadefin:34,argument:[11,14,18],aris:37,arrai:[0,1,11,16,24,25,26],arraypropertytyp:24,assign:[0,1,3,9,37],assist:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,29,31,32,33,34,36,37,38,42,43],asynchron:35,atmega168:37,atmega328p:37,attemp:1,attempt:[1,35],attribut:[1,3,7,11,12,17,23],aunit:43,authent:1,auto:43,autofanmod:11,autom:[9,20,37],automat:[1,33,37,38,43],automod:11,aux:11,auxheatingfeatur:11,avail:[0,1,3,4,5,7,8,11,13,14,16,17,19,24,28,29,31,39,43],availabilitydefault:3,availabilityofflin:3,availabilityonlin:3,avoid:37,b:[12,16],back:[7,10,11,12,13,14,16,19],base64:6,base:[0,9,16,20,23,25,37,43],basic:[28,29,33,38,39],becaus:[33,38],becom:33,bedroom:36,been:[4,6,7,8,9,10,11,12,13,14,16,17,18,19,20,25],befor:[1,4,7,8,10,11,12,13,14,16,18,19,24],begin:[1,33,35,37,40,41,42],beginpublish:1,behavior:37,being:24,belong:3,below:[24,33,34,35,37,41],best:[31,36],better:3,between:[1,37,42],binari:[4,6,29,37],binary_sensor:[3,4,24],bind:41,bitwis:12,blind:7,blue:12,bluetooth:8,board:[37,43],boil:40,boilerpl:[39,43],bool:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26,33],boolpropertytyp:24,boot:1,box:14,bridg:1,bright:[12,29],brightnessfeatur:12,broker:[0,1,4,7,8,10,11,12,13,14,16,18,19,24,29,32,33,35,38,40,41,42,43],brokker:32,btn0:9,bu:6,buffer:[1,23,24,41],build:[3,9,31],buildseri:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20],builduniqueid:9,built:[3,9],busi:40,button1subtyp:9,button2subtyp:9,button3subtyp:9,button4subtyp:9,button5subtyp:9,button6subtyp:9,button:[4,5,7,10,11,12,16,19,29,33,37],buttondoublepresstyp:9,buttonlongpresstyp:9,buttonlongreleasetyp:9,buttonquadruplepresstyp:9,buttonquintuplepresstyp:9,buttonshortpresstyp:9,buttonshortreleasetyp:9,buttontriplepresstyp:9,bytearraytostr:26,c:[14,16,17],calcul:[9,23,24,25],calculatearrays:24,calculateconfigtopiclength:24,calculatedatatopiclength:24,calculateentrys:24,calculateflags:24,calculateids:9,calculatepropertyvalues:24,calculates:[23,24,25],calculatetopicentrys:24,call:[0,1,3,5,7,8,10,11,12,13,14,15,16,17,19,24,33,35,40,41],callback:[1,5,7,10,11,12,13,14,15,16,19,39,43],cam:[6,28,29],camera:[6,29,37],can:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,31,33,34,35,36,37,38,40,41,42],cannot:37,capabl:33,care:[33,38],cd:31,celsiusunit:11,central:1,certain:37,chang:[1,4,7,8,10,11,12,13,14,16,18,19,29,33,37,38,41],chapter:[39,40],charact:[23,36],check:[24,26],checkout:31,child:37,chip:36,choos:36,clear:[25,37],click:[5,7,9,31],client:[1,28,33,35,37,38,40,41,42],climat:11,clone:36,close:[1,29],cmd:[7,10,11,12,13,14],code:[39,40,43],codebas:37,color:[12,29],colortemp:12,colortemperaturefeatur:12,com:[4,5,6,7,8,10,11,12,13,14,15,16,17,19,31],combin:9,command:[5,7,10,11,12,13,14,15,16,19,43],commandclos:7,commandlock:13,commandopen:[7,13],commandstop:7,commandunlock:13,commun:[1,32,34,42,43],compar:[4,7,8,10,11,12,13,14,16,18,19,24],comparedatatop:24,compat:[30,43],compil:[31,39,43],complet:[28,33],compon:[3,24],componentnam:3,comprehens:42,config:24,configur:[0,1,3,24,38,39,42,43],conflict:37,confus:37,connect:[0,1,3,4,7,8,10,11,12,13,14,16,18,19,29,33,38,39,40,41,42,43],connectionst:[1,41],connecttoserv:1,consequ:[37,42],consid:33,constcharpropertyvalu:24,construct:[0,1,25,38],constructor:[0,1,3,9,11,37],contact:29,contain:[11,16,23,26],content:[1,6,36],control:[7,10,11,12,13,14,29,33,36,37],controllino:28,conveni:[11,14,18],convert:[0,23,26],coolingact:11,coolmod:11,copi:36,core:[17,22,28,39,43],corp:36,correspond:[34,36],could:[37,42],count:16,countoptionsinstr:16,coupl:34,cover:[7,16,29,37,43],covercommand:7,coverst:7,creat:[1,3,9,14,23,24,37,38],credenti:[29,35,40,42],crucial:37,current:[0,1,3,4,7,8,10,11,12,13,14,16,18,19],curtain:28,custom:[8,9,13,29,41,42,43],custompayload:41,customtop:41,cut:33,cycl:[1,35],dashboard:37,data:[1,3,6,7,10,11,12,13,14,17,24,38,40],databas:37,dawidchyrzynski:31,debug:[39,43],decim:[3,23],defaultfanmod:11,defaultfeatur:[7,10,11,12,17,18],defaultmod:11,defaultposit:7,defaultswingmod:11,defaultunit:11,defin:[3,4,14,17,20,34,37],delai:40,delet:0,depend:31,describ:[37,39,40],descript:29,deseri:23,design:43,desir:[9,25,37],destin:[23,26],destroi:[1,3],destroyseri:3,detail:40,determin:[10,24],determineprogmemsubtyp:9,determineprogmemtyp:9,develop:[17,36],devic:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,24,28,29,31,32,34,35,38,39,40,41,42,43],device_track:8,device_trigg:9,deviceclass:[4,5,7,14,17,19],devicetyp:[1,24],differ:[11,14,18,23],digit:[3,23],directli:34,disabl:[7,10,11,12,13,14,16,19,33],disconnect:1,discov:37,discover:29,discoveri:[1,3,24,29,39,42,43],discuss:30,displai:[0,5,6,14,17,18,19,29,33],distinct:[36,37],doc:17,document:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,30,31,37,40],doe:37,doesn:[1,7,10,12,13,14,16,17,19,25,40],don:[30,40],door:[7,13,29],down:40,doxygen:43,dropdown:[16,29,31],dryingact:11,drymod:11,dst:[23,26],dual:28,dure:35,dynam:[24,25],e:[3,6,16,17,24,33],each:[0,1,3,5,7,10,11,12,13,14,16,17,19,26,33,36,37,38,40,41],easier:26,easili:[24,33],element:25,emploi:[37,42],empti:[1,23],enabl:[0,1,3,7,10,11,12,13,14,16,17,18,19,33,34,36,37,42],enableextendeduniqueid:[0,37],enablelastwil:[0,1,33],enablesharedavail:[0,33],encod:6,encodingbase64:6,encodingbinari:6,encrypt:42,end:[23,26,35,40],endpublish:1,endswith:26,entir:[33,37],entiti:[0,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,29,36,39,43],entri:24,entrytyp:24,enumer:[1,3,6,7,8,9,10,11,12,13,14,17,24],environ:31,epoxyduino:43,equip:6,esp32:[6,28,29,31,39,43],esp8255:43,esp8266:[29,31,39,43],esp8266wifi:40,esp:[5,28,37,43],essenti:[36,40],establish:[1,29,35,41,42],etc:[0,1,33,38],ethernet:[28,33,35,36,37,38,40,41,42,43],ethernetcli:[1,33,35,37,38,40,41,42],even:33,event:[9,20,37],ever:1,everi:36,everyth:40,ex_arduinoha_binary_sensor:34,ex_arduinoha_button:34,ex_arduinoha_camera:34,ex_arduinoha_cov:34,ex_arduinoha_device_track:34,ex_arduinoha_device_trigg:34,ex_arduinoha_fan:34,ex_arduinoha_hvac:34,ex_arduinoha_light:34,ex_arduinoha_lock:34,ex_arduinoha_numb:34,ex_arduinoha_scen:34,ex_arduinoha_select:34,ex_arduinoha_sensor:34,ex_arduinoha_switch:34,ex_arduinoha_tag_scann:34,exampl:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,23,30,33,34,35,40,41,43],except:36,execut:[7,10,11,12,13,14,43],exist:[1,3,25],expect:[6,23],expir:[4,17],expireaft:[4,17],explain:40,explicit:[1,23],expos:[33,35,36,37,41],extend:[0,37],extra:[23,31,32],fahrenheitunit:11,fals:[1,3,4,7,8,10,11,12,13,14,16,18,19,33],famili:29,fan:[7,10,11,29,37,38],fanact:11,fanfeatur:11,fanmod:11,fanonlymod:11,featur:[0,3,7,10,11,12,17,18,30,33,34,37,39],feel:30,few:[35,40],fi:[28,36],field:[31,37],file:34,find:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,26],fine:28,finish:1,fire:1,firmwar:1,first:[0,1,37],flag:[5,7,10,11,12,13,14,15,16,17,19,24,34],flagentrytyp:24,flagtyp:24,flash:[3,9,25,33,34,36,37,43],flush:24,flushentri:24,flushentryvalu:24,flushflag:24,flushtop:24,follow:[3,24,31,33,37,38,40],forc:[4,7,8,10,11,12,13,14,16,17,18,19],forceupd:17,formula:23,foundat:39,free:[9,11,24],friend:3,friendli:37,from:[1,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,23,29,31],frombuff:12,fromstr:23,full:39,fun:30,fundament:40,g:[3,6,12,16,17,24],garag:7,gener:[0,3,23,24,37],generateconfigtop:24,generatedatatop:24,get:[3,16,32,40,43],getavailabilitytop:0,getbasevalu:23,getcommandtempl:14,getcommandwithfloattempl:11,getcurrentact:11,getcurrentauxst:11,getcurrentbright:12,getcurrentcolortemperatur:12,getcurrentfanmod:11,getcurrentmod:11,getcurrentopt:16,getcurrentposit:7,getcurrentrgbcolor:12,getcurrentspe:10,getcurrentst:[4,7,10,12,13,14,16,19],getcurrentswingmod:11,getcurrenttargettemperatur:11,getcurrenttemperatur:11,getcurrentvalu:18,getdataprefix:1,getdevic:1,getdiscoveryprefix:1,getencodingproperti:6,getentri:24,getentriesnb:24,getitem:25,getitemsnb:25,getmodeproperti:14,getnam:3,getobjectid:3,getprecis:23,getprecisionbas:23,getseri:0,getsourcetypeproperti:8,getstat:[1,8],getsubtyp:9,gettyp:9,getuniqueid:0,git:31,github:[10,12,30,31],given:[0,1,3,4,6,7,8,9,10,11,12,13,14,16,17,18,19,23,24,25,26,37],global:40,go:[0,1,24,25,32],goe:[37,40],gp:8,graph:17,grasp:37,greater:23,green:12,group:36,guid:30,h:[33,34,35,36,37,38,40,41,42],ha:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25,32,33,36,37],habasedevicetyp:[1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,22,24,43],habinarysensor:[0,1,3,21,22,37,43],habutton:[3,21,22,37,43],hacamera:[3,21,22,37,43],hacov:[3,21,22,37,43],hadevic:[1,2,3,22,33,35,37,38,40,41,42,43],hadevicetrack:[3,21,22,37,43],hadevicetrigg:[3,21,22,37,43],hafan:[3,21,22,37,43],hahvac:[3,21,22,37,43],halight:[3,21,22,37,43],halock:[3,21,22,37,43],hamqtt:[0,2,3,22,33,35,37,38,40,41,42,43],handl:24,handleauxstatecommand:11,handlebrightnesscommand:12,handlecolortemperaturecommand:12,handlecommand:[7,13,14],handlefanmodecommand:11,handlemodecommand:11,handlepowercommand:11,handlergbcommand:12,handlespeedcommand:10,handlestatecommand:[10,12],handleswingmodecommand:11,handletargettemperaturecommand:11,hanumb:[3,11,21,22,37,43],hanumer:[4,10,11,12,14,17,18,22,27,43],happen:[0,40],hardwar:[30,43],hascen:[3,21,22,37,43],haselect:[3,21,22,37,43],hasensor:[0,3,18,21,22,37,43],hasensorinteg:18,hasensornumb:[17,21,22,37,43],haseri:[0,3,22,25,27,43],haserializerarrai:[11,16,22,24,27,43],haswitch:[1,3,21,22,33,37,43],hatagscann:[3,21,22,37,43],hautil:[22,27,43],have:[17,23,30,37,40],heat:11,heater:37,heatingact:11,heatmod:11,here:[4,5,7,14,17,19,28,37,38,40],hesit:30,hex:[0,26],highfanmod:11,highli:33,histori:17,hit:[24,37],hold:29,home:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,29,31,32,33,34,36,37,38,42,43],homeassist:[1,38],hostnam:[1,35],how:[14,33],howev:[37,42],http:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,31,36],humidifi:37,hvac:[11,29,37],i:[33,43],icon:[4,5,6,7,8,10,11,12,13,14,15,16,17,19],id:[0,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,30,39,43],idea:40,identifi:[36,39,43],idleact:11,imag:6,imageencod:6,implement:[1,3,8,13,29,33,40],includ:[10,31,33,35,36,37,38,40,41,42],incom:17,incorpor:[37,40],increas:[36,37],index:[16,25],inform:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],initi:[1,3,8,11,13,14,37,40,43],inlin:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,23,24,25],input:[16,26,36],insid:1,instal:[30,32,43],instanc:[0,1,3,14,24,32,36,37,38,40],instead:1,int16_t:[7,11,14,18,23],int32_t:[11,14,18,23],int64_t:23,int8_t:[11,14,16,18,23],integ:[17,23,29],integr:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,31,32,37,43],interact:[28,29],interfac:37,intern:[1,24,36,37,38],interv:[1,41],introduct:[39,43],involv:37,io:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20],iot:[28,29],ip:[1,40],ipaddress:1,isavail:0,isavailabilityconfigur:3,isconnect:1,isextendeduniqueidsen:0,isfloat:23,isint16:23,isint32:23,isint8:23,isonlin:3,isprogmemdata:3,isprogmemsubtyp:9,isprogmemtyp:9,isset:[12,23],issharedavailabilityen:0,issu:[10,12,37],isuint16:23,isuint32:23,isuint8:23,item:[24,25,37],itemp:25,itemtyp:25,its:[3,8,31,33,36],jpeg:6,json:[0,17,24,25],jsonattributesfeatur:17,just:[31,35],keep:[0,1,3,36,37,41],keepal:1,knolleari:31,known:[1,4,7,8,10,11,12,13,14,16,18,19,24],label:[3,37],lack:42,last:[1,4,7,8,10,11,12,13,14,16,18,19,29,43],lastwillmessag:1,lastwillretain:1,lastwilltop:1,later:40,latest:31,lawn:37,le:8,lead:[36,37],led:29,length:[0,1,3,5,6,7,10,11,12,13,14,15,16,19,23,26,36,41],less:37,let:[11,40],lib:31,librari:[1,10,12,23,28,30,31,33,34,36,37,38,42,43],life:26,light:[12,29,33,36,37,38],like:1,limit:[24,39,43],line:[31,33],list:[4,5,7,11,14,16,17,19,24,28,34,37],live:1,ll:40,local:[35,42],lock:[13,29,37],lockcommand:13,lockstat:13,log:[34,42],logic:[3,5,35,37,40],long_press:9,look:[17,41],loop:[1,33,35,36,37,38,40,41,42],lost:[1,33,41],low:43,lower:[25,36],lowfanmod:11,lwt:[0,29,39,43],mac:[33,35,36,37,38,40,41,42],macaddress:40,macro:[39,43],made:[35,41],mai:[1,4,7,8,10,11,12,13,14,16,18,19,20,24,28,34,37,38,42],main:[1,24],maintain:[35,37,38,40,41],make:[26,29],makeesparduino:[30,43],makefil:[31,34],manag:[31,38],manual:33,manufactur:[0,36],match:[1,18,24],materialdesignicon:[4,5,6,7,8,10,11,12,13,14,15,16,17,19],max:[10,11,14],maxdevicestypesnb:1,maxdigitsnb:23,maxentriesnb:24,maxi:28,maximum:[1,10,11,12,14,23,24,25,37],mcu:36,mdi:[4,5,6,7,8,10,11,12,13,14,15,16,17,19,37],mdn:29,mean:[3,17],meaning:17,meant:31,measur:[14,17],mediumfanmod:11,meet:35,mega:28,member:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,23,24,25],memori:[0,3,9,11,24,25,26,34,37],menu:31,messag:[0,1,3,4,6,7,8,9,10,11,12,13,14,16,17,18,19,20,24,29,33,39,43],method:[0,1,3,4,7,8,10,11,12,13,14,16,17,18,19,23,24,26,31,32,33,35,38,40,41],mfrc522:29,might:37,millisecond:1,min:[10,11,14],mini:28,minim:[14,40],minimum:[10,11,12,14],mire:12,mix:17,mode:[7,10,11,12,13,14,16,19,29,39,43],modeauto:14,modebox:14,model:[0,36],modesfeatur:11,modeslid:14,modifi:37,modul:[6,28,29],monitor:36,more:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,31,36],mosquitto:[32,42],most:[16,33],movement:14,mower:37,mqtt:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,29,32,35,37,38,39,40,43],multi:29,multipl:[5,7,10,11,12,13,14,15,16,19,29,37],multipli:23,must:[10,11,12,14,16,19,36,37],my:43,mybrok:35,mycustomprefix:38,mydataprefix:38,myid:36,mynetworkssid:40,mypassword:40,myswitch:33,myswitchid:33,mytop:41,myuniqueid:[33,36],myvalv:37,name:[0,3,4,5,6,7,8,10,11,12,13,14,15,16,17,19,24,36,37],nano:[28,29],need:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,31,32,33,34,38,40,41],netclient:1,network:[1,28,42],never:[1,3,4,17],newli:26,nodemcu:[28,29],non:[10,12,14,16,19,41],none:0,note:[0,1,3,4,5,7,8,9,10,11,12,13,14,15,16,18,19,23,24,28,33,36,37],noth:0,nullptr:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,24],number:[0,1,4,10,11,14,17,18,23,24,25,29,37],numberprecis:[3,11,14,18],numberpropertytyp:24,numer:[10,14,18,23,29],object:[1,3,24,40],objectid:[3,24],occupi:34,off:[4,10,19,33],offact:11,offlin:[0,29,33,43],offmod:11,offswingmod:11,onauxstatecommand:11,onbrightnesscommand:12,onc:[0,5,15,16,35,37,40],oncolortemperaturecommand:12,oncommand:[5,7,13,14,15,16,19],onconnect:[1,41],onconnectedlog:1,ondisconnect:[1,41],one:[1,4,7,8,10,11,12,13,14,16,18,19,31,34,35,36,38],onfanmodecommand:11,onli:[0,1,3,10,11,12,14,16,18,24,31,33,35],onlin:[0,3,29,33,43],onmessag:[1,41],onmodecommand:11,onmqttconnect:[1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],onmqttmessag:[1,3,5,7,10,11,12,13,14,15,16,19],onpowercommand:11,onrgbcolorcommand:12,onspeedcommand:10,onstatechang:[1,41],onstatecommand:[10,12],onswingmod:11,onswingmodecommand:11,ontargettemperaturecommand:11,open:[10,12,13,24,29,30,31],oper:[12,23],optim:[39,43],optimist:[7,10,12,13,14,16,19],option:[16,36,37],order:32,other:[6,17,31,37],otherwis:0,output:[10,24,25,26],over:32,overload:[11,14,18],overrid:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],own:[0,1,24,36,37],owner:24,ownership:1,panel:[0,1,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,29,33,37,42,43],paramet:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26,36,37,39,43],pars:[7,10,11,12,13,14],part:[23,40],pass:[1,9,24],password:[1,35,40,41,42],payload:[1,3,5,7,10,11,12,13,14,15,16,19,24,41],payloadlength:1,percentag:10,perform:[1,20],period:[1,40],physic:[36,37],pick:35,piec:40,pin:29,platform:37,pleas:[0,1,3,4,5,7,8,9,10,11,12,13,14,15,16,18,19,23,24,28,31,33,36,37,41],plu:23,point:[1,3,9,11,14,18],pointer:[0,1,9,24,25,36],port:[1,35],pose:42,posit:7,positionfeatur:7,possibl:[5,7,10,11,12,13,14,15,16,17,19,35,42,43],potenti:39,pow:23,power:[11,29,33,37],powerfeatur:11,precis:[11,14,18,23],precisionp0:[3,14,18],precisionp1:[3,11],precisionp2:3,precisionp3:3,prefix:[0,1,24,37,39,43],prerequisit:[30,43],present:[26,30,35],press:[5,9,29],preview:29,previou:[4,7,8,10,11,12,13,14,16,17,18,19],primarili:37,print:16,prior:[17,40],privat:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,23,24,25],pro:28,process:[1,17,38],processmessag:1,processor:37,produc:[1,3,5,7,9,10,11,12,13,14,15,16,17,19,20],progmem:[1,3,6,8,9,11,14,24],progmemitem:25,progmempropertyvalu:24,project:[31,40,43],proper:[7,10,11,12,13,14,23,24],properli:42,properti:[0,1,6,7,13,24,25,39,43],propertyentrytyp:24,propertyvaluetyp:24,protect:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],protocol:32,provid:[11,14,18,26,34,37,40,42],publish:[0,1,3,4,6,7,8,9,10,11,12,13,14,16,17,18,19,20,24,29,33,38,39,43],publishact:11,publishauxst:11,publishavail:[0,3],publishbright:12,publishcolortemperatur:12,publishconfig:3,publishcurrenttemperatur:11,publishfanmod:11,publishimag:6,publishmod:11,publishondatatop:3,publishposit:7,publishrgbcolor:12,publishspe:10,publishst:[4,7,8,10,12,13,14,16,19],publishswingmod:11,publishtargettemperatur:11,publishvalu:18,pubsub:1,pubsubcli:[1,31],pure:28,purpos:[1,24,37],push:[7,10,12,38],r2:28,r3:28,r:12,ram:[33,36,37,43],random:37,rang:10,rapidli:37,raw:6,rbb:12,re:[1,11,17,31,32,40],reach:37,reboot:37,receiv:[1,3,5,7,10,11,12,13,14,16,19,24,41],recent:16,recogn:24,recommend:[32,33,36],reconnect:[1,43],reconnectinterv:1,red:12,reduc:24,refer:[31,43],regist:[0,1,3,5,7,10,11,12,13,14,15,16,19,37,38],registri:0,relat:33,reli:[33,37,38],remov:1,replac:42,report:[3,7,8,10,11,12,13,14,16,19,29,39,43],repres:[0,1,4,5,6,8,9,10,11,14,16,23,25,26,36,37],represent:[0,9,16,17,23,24,25,26,29],requir:[33,35,36],reset:[16,23],resourc:[3,33,37,43],result:[23,34],retain:[1,3,5,7,9,10,11,12,13,14,15,16,19,41],reus:37,rfid:29,rgb:[12,29],rgbcolor:12,rgbfeatur:12,rgbstringmaxlength:12,risk:42,roller:7,root:31,router:8,rule:[38,40],runtim:[33,37],s:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,24,28,29,36,37,38,39,40,42,43],safe:1,samd:29,same:[0,1,4,5,7,8,10,11,12,13,14,15,16,18,19,37,42],save:[0,3,23,26,33,34],scale:12,scan:[20,29],scanner:[20,29,37],scene:[15,29,37],scope:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,36],search:31,second:[1,4,17,31,41],secur:[39,43],see:[11,17,33],select:[16,29,31,37],selector:29,semicolon:16,send:20,sender:[5,7,10,11,12,13,14,15,16,19],sensor:[1,4,14,17,18,19,29,33,36,37,38],separ:[16,33],sequenc:36,serial:[0,3,11,16,24,25],serializerentri:24,serv:[36,37],serverhostnam:1,serverip:1,serverport:1,session:24,set:[0,1,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,23,24,33,35,36,41],setact:11,setauxst:11,setavail:[0,3,33],setbasevalu:23,setbright:12,setbrightnessscal:12,setbuffers:[1,41],setcolortemperatur:12,setconfigurationurl:[0,36],setcurrentact:11,setcurrentauxst:11,setcurrentbright:12,setcurrentcolortemperatur:12,setcurrentcurrenttemperatur:11,setcurrentfanmod:11,setcurrentmod:11,setcurrentposit:7,setcurrentrgbcolor:12,setcurrentspe:10,setcurrentst:[4,7,8,10,12,13,14,16,19],setcurrentswingmod:11,setcurrenttargettemperatur:11,setcurrenttemperatur:11,setcurrentvalu:18,setdataprefix:[1,38],setdeviceclass:[4,5,7,14,17,19],setdiscoveryprefix:[1,38],setencod:6,setexpireaft:[4,17],setfanmod:11,setforceupd:17,seticon:[4,5,6,7,8,10,11,12,13,14,15,16,17,19,37],setjsonattribut:17,setkeepal:[1,41],setlastwil:1,setmanufactur:[0,36],setmax:14,setmaxmir:12,setmaxtemp:11,setmin:14,setminmir:12,setmintemp:11,setmod:[11,14],setmodel:[0,36],setnam:[0,3,36,37],setobjectid:3,setopt:16,setoptimist:[7,10,12,13,14,16,19],setp:11,setposit:7,setprecis:23,setretain:[5,7,10,11,12,13,14,15,16,19],setrgbcolor:12,setsoftwarevers:[0,36],setsourcetyp:8,setspe:10,setspeedrangemax:10,setspeedrangemin:10,setstat:[1,4,7,8,10,12,13,14,16,19],setstateclass:17,setstep:14,setswingmod:11,settargettemperatur:11,settemperatureunit:11,settempstep:11,setter:36,setuniqueid:[0,40],setunitofmeasur:[14,17],setup:[32,33,35,37,38,40,41,42],setvalu:[17,18],sever:40,share:[0,39,43],shield:43,should:[0,1,3,7,10,11,12,14,16,17,18,23,28,35,37],show:33,shown:33,shutter:7,signific:42,simpl:[29,36,37],simplifi:23,sinc:1,singl:[24,33,37],singleton:1,siren:37,size:[1,9,23,24,25,26,41],sizeof:[33,35,36,37,38,40,41,42],sketch:31,skip:40,slider:[14,29],smallest:14,so:[0,3,10,26,32,37],softwar:[0,36],softwarevers:0,sole:37,solid:39,solut:[33,42],some:[1,5,24,26,34,38,41],sonoff:28,sourc:8,sourcetyp:8,sourcetypebluetooth:8,sourcetypebluetoothl:8,sourcetypegp:8,sourcetyperout:8,sourcetypeunknown:8,spec:36,specif:[3,33,34,37],specifi:[0,1,3,9,25,35],speed:[10,29],speed_rang:10,speed_range_min:10,speedsfeatur:10,sponsor:43,src:26,start:[40,43],stat:17,state:[0,1,3,4,7,8,10,11,12,13,14,16,17,18,19,29,33,38,41,43],statebadclientid:1,statebadcredenti:1,statebadprotocol:1,stateclass:17,stateclos:7,stateconnect:1,stateconnectionfail:1,stateconnectionlost:1,stateconnectiontimeout:1,statedisconnect:1,statehom:8,statelock:13,statenotavail:8,statenothom:8,statenotiniti:1,stateopen:7,statestop:7,stateunauthor:1,stateunavail:1,stateunknown:[7,8,13],stateunlock:13,statist:17,statu:40,step:[10,11,14,30],stop:29,store:[1,3,14,16,17,24,25,37],str:26,strcmp:41,stream:[1,24],string:[0,1,3,6,8,9,11,14,16,17,23,24,25,26,29],struct:[12,24],structur:24,subclass:[3,17],submodul:31,subscrib:[1,3,29,41,43],subscribetop:3,subscript:[1,39,43],subtyp:[9,24],successfulli:[4,6,7,8,9,10,11,12,13,14,16,17,18,19,20,25,43],suffix:26,suit:36,suppli:33,support:[3,9,10,11,12,28,33,34,36,39,43],swing:11,swingfeatur:11,swingmod:11,t:[1,4,7,8,10,11,12,13,14,16,17,18,19,25,30,33,40],tabl:[34,37],tag:[20,29,31,37],tagscan:20,take:[1,33,38,41],target:[11,29],targettemperaturefeatur:11,tcp:[1,32,33,42],teh:1,temperatur:[11,12,29],temperatureunit:11,templat:[11,14],term:17,termin:[0,23],test:[28,43],testament:[29,43],text:37,textual:17,than:[23,25],thei:11,them:[34,36],therefor:[36,37],thi:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,26,30,33,34,35,36,37,39,40,41,42],those:34,three:[3,36,37],through:[1,37,42],tick:40,time:[1,3,5,7,10,11,12,13,14,16,17,19,37,41],tofloat:23,toint16:23,toint32:23,toint8:23,topic:[0,1,3,5,7,10,11,12,13,14,15,16,17,19,24,29,39,41,43],topicentrytyp:24,topicp:24,topictyp:24,tostr:23,touint16:23,touint32:23,touint8:23,track:33,tracker:[8,37],trackerst:8,traffic:[1,42],trigger:[5,9,15,29,37],triggersubtyp:9,triggertyp:9,truncat:34,turn:33,turnoff:[10,12,19],turnoffsubtyp:9,turnon:[10,12,19],turnonsubtyp:9,tuya:28,twice:0,two:[3,26,31,38,43],type:[0,1,3,6,7,8,9,10,11,12,13,14,17,22,23,24,25,31,34,36,38,39,40,43],typedef:25,ui:[14,37],uint16_t:[0,1,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,23,24,25,26,41],uint32_t:[1,11,14,18,23],uint8_t:[1,3,5,6,7,10,11,12,13,14,15,16,18,19,23,24,25,41],unauthor:42,unclear:30,uncom:34,understand:[3,37,39],uniqu:[0,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,39,43],uniqueid:[0,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20],unit:[11,14,17,37,43],unitofmeasur:[14,17],unknownact:11,unknownentrytyp:24,unknownfanmod:11,unknownmod:11,unknownpropertyvaluetyp:24,unknownswingmod:11,unlik:17,unlock:[13,34],uno:[28,37,43],unsupport:9,up:37,updat:[4,6,7,8,10,11,12,13,14,16,17,18,19,37],upfront:24,uptim:29,url:[0,36],us:[0,1,3,4,6,7,8,9,10,11,12,13,14,16,17,18,19,20,23,24,25,26,28,29,31,32,33,34,35,37,38,40,41,43],usag:36,user:[20,31,37],usernam:[1,35,40,41,42],util:[16,22,33,37,38,39,42,43],v2:31,vacuum:37,valu:[1,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,23,24,37],valuetyp:24,valv:37,variabl:24,variant:35,verifi:[1,3,9],version:[0,31,36],via:[0,3,11,12,16,29,34],virtual:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,34],voltag:29,vulner:42,wa:[0,1,3,9,16,17,28,43],wai:[0,31,33,43],wait:40,wall:[9,29],want:[1,4,7,8,10,11,12,13,14,16,17,18,19,33,34],wasn:[8,11,13,14],water:37,welcom:30,were:[9,24,25],what:[11,14,17,18,40],when:[0,1,7,10,11,12,13,14,15,16,19,33,37,41],whenev:[1,38],where:[1,23,24,26],whether:[0,1,3,9,24,25,26],which:[3,28,36,37],whose:36,wi:[28,36],wifi:40,wificli:[1,40],window:29,withavail:24,withdevic:24,within:[10,36,37,42],without:[0,4,7,8,10,11,12,13,14,16,18,19,23,33],withuniqueid:24,wl_connect:40,wl_mac_addr_length:40,won:[1,4,7,8,10,11,12,13,14,16,18,19,33],work:[0,28,32,43],worri:40,wrapper:1,write:[1,24],writepayload:1,written:[1,23,24],www:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20],you:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,28,30,31,32,33,34,35,36,37,38,39,40,41,42],your:[0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,29,31,32,33,35,36,37,38,40,42],zero:23},titles:["HADevice class","HAMqtt class","Core API","HABaseDeviceType class","HABinarySensor class","HAButton class","HACamera class","HACover class","HADeviceTracker class","HADeviceTrigger class","HAFan class","HAHVAC class","HALight class","HALock class","HANumber class","HAScene class","HASelect class","HASensor class","HASensorNumber class","HASwitch class","HATagScanner class","Device types API","API reference","HANumeric class","HASerializer class","HASerializerArray class","HAUtils class","Utils API","Compatible Hardware","Examples","Getting started","Installation","Prerequisites","Availability reporting","Compiler macros","Connection parameters","Device configuration","Device types (entities)","Discovery","Library","Introduction","MQTT advanced features","MQTT security","ArduinoHA documentation"],titleterms:{"1":36,"2":36,"3":36,"byte":36,"char":36,"class":[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26],"const":36,advanc:41,api:[2,21,22,27],arduino:[31,40],arduinoha:43,arrai:36,avail:33,boilerpl:40,callback:41,code:34,compat:28,compil:34,configur:36,connect:35,constructor:36,core:2,debug:34,devic:[21,33,36,37],discoveri:38,doc:43,document:43,dure:36,entiti:37,esp32:40,esp8266:40,exampl:29,featur:[41,43],get:30,habasedevicetyp:3,habinarysensor:4,habutton:5,hacamera:6,hacov:7,hadevic:[0,36],hadevicetrack:8,hadevicetrigg:9,hafan:10,hahvac:11,halight:12,halock:13,hamqtt:1,hanumb:14,hanumer:23,hardwar:28,hascen:15,haselect:16,hasensor:17,hasensornumb:18,haseri:24,haserializerarrai:25,haswitch:19,hatagscann:20,hautil:26,id:[31,36,37],identifi:37,instal:31,introduct:40,librari:39,limit:37,lwt:33,macro:34,makeesparduino:31,messag:41,method:36,mode:34,mqtt:[33,41,42],object:37,optim:34,paramet:35,prefix:38,prerequisit:32,properti:36,provid:36,publish:41,refer:22,report:33,s:33,secur:42,setuniqueid:36,setup:36,share:33,start:30,string:36,subscript:41,support:37,topic:38,type:[21,33,37],uniqu:[36,37],us:36,util:27}}) \ No newline at end of file diff --git a/docsrc/source/documents/library/introduction.rst b/docsrc/source/documents/library/introduction.rst index 6547c44..bad3356 100644 --- a/docsrc/source/documents/library/introduction.rst +++ b/docsrc/source/documents/library/introduction.rst @@ -1,18 +1,16 @@ Introduction ============ -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: +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: 1) :doc:`HADevice ` and :doc:`HAMqtt ` instances need to be initialized once globally or as a part of another global object. -2) :doc:`HAMqtt::begin ` needs to be called at the end of setup logic. It provides MQTT broker credentials that will be used for a connection. +2) :doc:`HAMqtt::begin ` needs to be called at the end of Arduino's setup logic. It lets you provide the MQTT broker's IP address and credentials. 3) :doc:`HAMqtt::loop ` method needs to be called periodically (it doesn't need to be called on each tick). 4) Device types need to be initialized after :doc:`HAMqtt ` class (it will be described later in the documentation). -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. +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. Arduino Boilerplate ------------------- diff --git a/docsrc/source/documents/library/mqtt-advanced.rst b/docsrc/source/documents/library/mqtt-advanced.rst index a7169d0..02dd48d 100644 --- a/docsrc/source/documents/library/mqtt-advanced.rst +++ b/docsrc/source/documents/library/mqtt-advanced.rst @@ -25,11 +25,23 @@ Please take a look at the example below. // this method will be called when connection to MQTT broker is established } + void onDisconnected() { + // this method will be called when connection to MQTT broker is lost + } + + void onStateChanged(HAMqtt::ConnectionState state) { + // this method will be called each time the state of the MQTT connection changes + } + void setup() { Ethernet.begin(mac); mqtt.onMessage(onMessage); mqtt.onConnected(onConnected); + mqtt.onDisconnected(onDisconnected); + mqtt.onStateChanged(onStateChanged); + mqtt.setBufferSize(512); // set the buffer size to 512 bytes, default is 256 bytes + mqtt.setKeepAlive(60); // set the keep alive interval to 60 seconds, default is 15 seconds mqtt.begin("192.168.1.50", "username", "password"); } diff --git a/docsrc/source/documents/library/mqtt-security.rst b/docsrc/source/documents/library/mqtt-security.rst index a8f9ef8..fa50dcc 100644 --- a/docsrc/source/documents/library/mqtt-security.rst +++ b/docsrc/source/documents/library/mqtt-security.rst @@ -1,15 +1,15 @@ MQTT security ============= -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. +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. .. DANGER:: - 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. + 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. :: @@ -31,10 +31,3 @@ By default you can use the same credentials you use for login in the Home Assist void loop() { // ... } - - -SSL connection --------------- - -On ESP32/ESP8266 you can use ``WiFiClientSecure`` client to establish encrypted connection between your device and Home Assistant. -Please take a look at :example:`this example `. diff --git a/examples/mqtt-advanced/mqtt-advanced.ino b/examples/mqtt-advanced/mqtt-advanced.ino index 87b3f1b..2f815c0 100644 --- a/examples/mqtt-advanced/mqtt-advanced.ino +++ b/examples/mqtt-advanced/mqtt-advanced.ino @@ -29,12 +29,23 @@ void onMqttConnected() { mqtt.subscribe("myCustomTopic"); } +void onMqttDisconnected() { + Serial.println("Disconnected from the broker!"); +} + +void onMqttStateChanged(HAMqtt::ConnectionState state) { + Serial.print("MQTT state changed to: "); + Serial.println(static_cast(state)); +} + void setup() { Serial.begin(9600); Ethernet.begin(mac); mqtt.onMessage(onMqttMessage); mqtt.onConnected(onMqttConnected); + mqtt.onDisconnected(onMqttDisconnected); + mqtt.onStateChanged(onMqttStateChanged); // If you use custom discovery prefix you can change it as following: // mqtt.setDiscoveryPrefix("customPrefix"); @@ -42,6 +53,9 @@ void setup() { // If you want to change prefix only for non-discovery prefix: // mqtt.setDataPrefix("data"); + // Obtaining state of the MQTT connection: + // mqtt.getState(); + mqtt.begin(BROKER_ADDR); } diff --git a/src/HAMqtt.cpp b/src/HAMqtt.cpp index 976d390..526a8dc 100644 --- a/src/HAMqtt.cpp +++ b/src/HAMqtt.cpp @@ -12,6 +12,8 @@ _device(device), \ _messageCallback(nullptr), \ _connectedCallback(nullptr), \ + _disconnectedCallback(nullptr), \ + _stateChangedCallback(nullptr), \ _initialized(false), \ _discoveryPrefix(DefaultDiscoveryPrefix), \ _dataPrefix(DefaultDataPrefix), \ @@ -23,7 +25,8 @@ _devicesTypes(new HABaseDeviceType*[maxDevicesTypesNb]), \ _lastWillTopic(nullptr), \ _lastWillMessage(nullptr), \ - _lastWillRetain(false) + _lastWillRetain(false), \ + _currentState(StateDisconnected) static const char* DefaultDiscoveryPrefix = "homeassistant"; static const char* DefaultDataPrefix = "aha"; @@ -173,7 +176,16 @@ bool HAMqtt::disconnect() void HAMqtt::loop() { - if (_initialized && !_mqtt->loop()) { + if (!_initialized) { + return; + } + + bool result = _mqtt->loop(); + if (_currentState != _mqtt->state()) { + setState(static_cast(_mqtt->state())); + } + + if (!result) { connectToServer(); } } @@ -188,6 +200,11 @@ void HAMqtt::setKeepAlive(uint16_t keepAlive) _mqtt->setKeepAlive(keepAlive); } +bool HAMqtt::setBufferSize(uint16_t size) +{ + return _mqtt->setBufferSize(size); +} + void HAMqtt::addDeviceType(HABaseDeviceType* deviceType) { if (_devicesTypesNb + 1 > _maxDevicesTypesNb) { @@ -279,8 +296,9 @@ void HAMqtt::connectToServer() } _lastConnectionAttemptAt = millis(); + setState(StateConnecting); - ARDUINOHA_DEBUG_PRINT(F("AHA: connecting, client ID: ")) + ARDUINOHA_DEBUG_PRINT(F("AHA: MQTT connecting, client ID: ")) ARDUINOHA_DEBUG_PRINTLN(_device.getUniqueId()) _mqtt->connect( @@ -294,10 +312,7 @@ void HAMqtt::connectToServer() true ); - if (isConnected()) { - ARDUINOHA_DEBUG_PRINTLN(F("AHA: connected")) - onConnectedLogic(); - } else { + if (!isConnected()) { ARDUINOHA_DEBUG_PRINTLN(F("AHA: failed to connect")) } } @@ -314,3 +329,29 @@ void HAMqtt::onConnectedLogic() _devicesTypes[i]->onMqttConnected(); } } + +void HAMqtt::setState(ConnectionState state) +{ + ConnectionState previousState = _currentState; + _currentState = state; + + ARDUINOHA_DEBUG_PRINT(F("AHA: MQTT state changed to ")) + ARDUINOHA_DEBUG_PRINT(_currentState) + ARDUINOHA_DEBUG_PRINT(F(", previous state: ")) + ARDUINOHA_DEBUG_PRINTLN(previousState) + + if (_currentState == StateConnected) { + ARDUINOHA_DEBUG_PRINTLN(F("AHA: MQTT connected")) + onConnectedLogic(); + } else if (previousState == StateConnected && _currentState != StateConnected) { + ARDUINOHA_DEBUG_PRINTLN(F("AHA: MQTT disconnected")) + + if (_disconnectedCallback) { + _disconnectedCallback(); + } + } + + if (_stateChangedCallback) { + _stateChangedCallback(_currentState); + } +} \ No newline at end of file diff --git a/src/HAMqtt.h b/src/HAMqtt.h index fd1b225..915d846 100644 --- a/src/HAMqtt.h +++ b/src/HAMqtt.h @@ -7,6 +7,7 @@ #include "ArduinoHADefines.h" #define HAMQTT_CALLBACK(name) void (*name)() +#define HAMQTT_STATE_CALLBACK(name) void (*name)(ConnectionState state) #define HAMQTT_MESSAGE_CALLBACK(name) void (*name)(const char* topic, const uint8_t* payload, uint16_t length) #define HAMQTT_DEFAULT_PORT 1883 @@ -36,6 +37,20 @@ using namespace arduino; class HAMqtt { public: + enum ConnectionState { + StateConnecting = -5, + StateConnectionTimeout = -4, + StateConnectionLost = -3, + StateConnectionFailed = -2, + StateDisconnected = -1, + StateConnected = 0, + StateBadProtocol = 1, + StateBadClientId = 2, + StateUnavailable = 3, + StateBadCredentials = 4, + StateUnauthorized = 5 + }; + /** * Returns existing instance (singleton) of the HAMqtt class. * It may be a null pointer if the HAMqtt object was never constructed or it was destroyed. @@ -129,6 +144,28 @@ public: inline void onConnected(HAMQTT_CALLBACK(callback)) { _connectedCallback = callback; } + /** + * Registers a new callback method that will be called each time the connection to the MQTT broker is lost. + * + * @param callback Callback method. + */ + inline void onDisconnected(HAMQTT_CALLBACK(callback)) + { _disconnectedCallback = callback; } + + /** + * Registers a new callback method that will be called each time the connection state changes. + * + * @param callback Callback method. + */ + inline void onStateChanged(HAMQTT_STATE_CALLBACK(callback)) + { _stateChangedCallback = callback; } + + /** + * Returns the current state of the MQTT connection. + */ + inline ConnectionState getState() const + { return _currentState; } + /** * Sets parameters of the MQTT connection using the IP address and port. * The library will try to connect to the broker in first loop cycle. @@ -217,6 +254,14 @@ public: */ void setKeepAlive(uint16_t keepAlive); + /** + * Sets the buffer size for the MQTT connection. + * By default it's 256 bytes. + * + * @param size Size of the buffer. + */ + bool setBufferSize(uint16_t size); + /** * Adds a new device's type to the MQTT. * Each time the connection with MQTT broker is acquired, the HAMqtt class @@ -334,7 +379,7 @@ public: private: /// Interval between MQTT reconnects (milliseconds). - static const uint16_t ReconnectInterval = 5000; + static const uint16_t ReconnectInterval = 10000; /// Living instance of the HAMqtt class. It can be nullptr. static HAMqtt* _instance; @@ -350,6 +395,11 @@ private: */ void onConnectedLogic(); + /** + * Sets the state of the MQTT connection. + */ + void setState(ConnectionState state); + #ifdef ARDUINOHA_TEST PubSubClientMock* _mqtt; #else @@ -366,6 +416,12 @@ private: /// The callback method that will be called when the MQTT connection is acquired. HAMQTT_CALLBACK(_connectedCallback); + /// The callback method that will be called when the MQTT connection is lost. + HAMQTT_CALLBACK(_disconnectedCallback); + + /// The callback method that will be called when the MQTT connection state changes. + HAMQTT_STATE_CALLBACK(_stateChangedCallback); + /// Specifies whether the HAMqtt::begin method was ever called. bool _initialized; @@ -401,6 +457,9 @@ private: /// The last will retain set by HAMqtt::setLastWill bool _lastWillRetain; + + /// The last known state of the MQTT connection. + ConnectionState _currentState; }; #endif diff --git a/src/mocks/PubSubClientMock.cpp b/src/mocks/PubSubClientMock.cpp index 6f85cc3..6140871 100644 --- a/src/mocks/PubSubClientMock.cpp +++ b/src/mocks/PubSubClientMock.cpp @@ -7,6 +7,8 @@ PubSubClientMock::PubSubClientMock() : _pendingMessage(nullptr), _flushedMessages(nullptr), _keepAlive(15), + _bufferSize(256), + _state(0), _flushedMessagesNb(0), _subscriptions(nullptr), _subscriptionsNb(0), diff --git a/src/mocks/PubSubClientMock.h b/src/mocks/PubSubClientMock.h index f896ffb..0781ff1 100644 --- a/src/mocks/PubSubClientMock.h +++ b/src/mocks/PubSubClientMock.h @@ -133,6 +133,18 @@ public: inline uint16_t getKeepAlive() const { return _keepAlive; } + inline bool setBufferSize(uint16_t bufferSize) + { _bufferSize = bufferSize; return true; } + + inline uint16_t getBufferSize() const + { return _bufferSize; } + + inline void setState(int16_t state) + { _state = state; } + + inline int16_t state() const + { return _state; } + inline uint8_t getFlushedMessagesNb() const { return _flushedMessagesNb; } @@ -161,6 +173,8 @@ private: MqttMessage* _pendingMessage; MqttMessage** _flushedMessages; uint16_t _keepAlive; + uint16_t _bufferSize; + int16_t _state; uint8_t _flushedMessagesNb; MqttSubscription** _subscriptions; uint8_t _subscriptionsNb;