|
ESPHome 2026.8.0-dev
|
MQTTComponent is the base class for all components that interact with MQTT to expose certain functionality or data from actuators or sensors to clients. More...
#include <mqtt_component.h>
Public Member Functions | |
| MQTTComponent () | |
| Constructs a MQTTComponent. | |
| void | call_setup () override |
| Override setup_ so that we can call send_discovery() when needed. | |
| virtual void | send_discovery (JsonObject root, SendDiscoveryConfig &config)=0 |
| Send discovery info the Home Assistant, override this. | |
| virtual bool | send_initial_state ()=0 |
| bool | is_internal () const |
| Returns cached is_internal result (computed once during setup). | |
| void | set_qos (uint8_t qos) |
| Set QOS for state messages. | |
| uint8_t | get_qos () const |
| void | set_retain (bool retain) |
| Set whether state message should be retained. | |
| bool | get_retain () const |
| void | disable_discovery () |
| Disable discovery. Sets friendly name to "". | |
| bool | is_discovery_enabled () const |
| void | set_subscribe_qos (uint8_t qos) |
| Set the QOS for subscribe messages (used in discovery). | |
| virtual const char * | component_type () const =0 |
| Override this method to return the component type (e.g. "light", "sensor", ...) | |
| template<typename T > | |
| void | set_custom_state_topic (T &&custom_state_topic) |
| Set a custom state topic. Do not set for default behavior. | |
| template<typename T > | |
| void | set_custom_command_topic (T &&custom_command_topic) |
| void | set_command_retain (bool command_retain) |
| Set whether command message should be retained. | |
| float | get_setup_priority () const override |
| MQTT_COMPONENT setup priority. | |
| void | set_availability (std::string topic, std::string payload_available, std::string payload_not_available) |
| Set the Home Assistant availability data. | |
| void | disable_availability () |
| void | schedule_resend_state () |
| Internal method for the MQTT client base to schedule a resend of the state on reconnect. | |
| bool | is_resend_pending () const |
| Check if a resend is pending (called by MQTTClientComponent to rate-limit work) | |
| void | process_resend () |
| Process pending resend if needed (called by MQTTClientComponent) | |
| bool | publish (const std::string &topic, const std::string &payload) |
| Send a MQTT message. | |
| bool | publish (const std::string &topic, const char *payload, size_t payload_length) |
| Send a MQTT message. | |
| bool | publish (const std::string &topic, const char *payload) |
| Send a MQTT message. | |
| bool | publish (const char *topic, const char *payload, size_t payload_length) |
| Send a MQTT message (no heap allocation for topic). | |
| bool | publish (StringRef topic, const char *payload, size_t payload_length) |
| Send a MQTT message (no heap allocation for topic). | |
| bool | publish (const char *topic, const char *payload) |
| Send a MQTT message (no heap allocation for topic). | |
| bool | publish (StringRef topic, const char *payload) |
| Send a MQTT message (no heap allocation for topic). | |
| bool | publish (const std::string &topic, ProgmemStr payload) |
| Send a MQTT message with a PROGMEM string payload. | |
| bool | publish (const char *topic, ProgmemStr payload) |
| Send a MQTT message with a PROGMEM string payload (no heap allocation for topic). | |
| bool | publish (StringRef topic, ProgmemStr payload) |
| Send a MQTT message with a PROGMEM string payload (no heap allocation for topic). | |
| bool | publish_json (const std::string &topic, const json::json_build_t &f) |
| Construct and send a JSON MQTT message. | |
| bool | publish_json (const char *topic, const json::json_build_t &f) |
| Construct and send a JSON MQTT message (no heap allocation for topic). | |
| bool | publish_json (StringRef topic, const json::json_build_t &f) |
| Construct and send a JSON MQTT message (no heap allocation for topic). | |
| void | subscribe (const std::string &topic, mqtt_callback_t callback, uint8_t qos=0) |
| Subscribe to a MQTT topic. | |
| void | subscribe_json (const std::string &topic, const mqtt_json_callback_t &callback, uint8_t qos=0) |
| Subscribe to a MQTT topic and automatically parse JSON payload. | |
Public Member Functions inherited from esphome::Component | |
| virtual void | setup () |
| Where the component's initialization should happen. | |
| virtual void | loop () |
| This method will be called repeatedly. | |
| virtual void | dump_config () |
| float | get_actual_setup_priority () const |
| void | set_setup_priority (float priority) |
| void | call () |
| virtual void | on_shutdown () |
| virtual void | on_safe_shutdown () |
| virtual bool | teardown () |
| Called during teardown to allow component to gracefully finish operations. | |
| virtual void | on_powerdown () |
| Called after teardown is complete to power down hardware. | |
| uint8_t | get_component_state () const |
| void | reset_to_construction_state () |
| Reset this component back to the construction state to allow setup to run again. | |
| bool | is_in_loop_state () const |
| Check if this component has completed setup and is in the loop state. | |
| bool | is_idle () const |
| Check if this component is idle. | |
| void | mark_failed () |
| Mark this component as failed. | |
| void | mark_failed (const LogString *message) |
| void | disable_loop () |
| Disable this component's loop. | |
| void | enable_loop () |
| Enable this component's loop. | |
| void | enable_loop_soon_any_context () |
| Thread and ISR-safe version of enable_loop() that can be called from any context. | |
| bool | is_failed () const |
| bool | is_ready () const |
| virtual bool | can_proceed () |
| bool | status_has_warning () const |
| bool | status_has_error () const |
| void | status_set_warning () |
| void | status_set_warning (const char *message) |
| void | status_set_warning (const LogString *message) |
| void | status_set_error () |
| void | status_set_error (const LogString *message) |
| void | status_clear_warning () |
| void | status_clear_error () |
| void | status_momentary_warning (const char *name, uint32_t length=5000) |
| Set warning status flag and automatically clear it after a timeout. | |
| void | status_momentary_error (const char *name, uint32_t length=5000) |
| Set error status flag and automatically clear it after a timeout. | |
| bool | has_overridden_loop () const |
| const LogString * | get_component_log_str () const ESPHOME_ALWAYS_INLINE |
| Get the integration where this component was declared as a LogString for logging. | |
| bool | should_warn_of_blocking (uint32_t blocking_time, uint32_t &threshold_ms_out) |
Protected Member Functions | |
| StringRef | get_discovery_topic_to_ (std::span< char, MQTT_DISCOVERY_TOPIC_MAX_LEN > buf, const MQTTDiscoveryInfo &discovery_info) const |
| Helper method to get the discovery topic for this component into a buffer. | |
| StringRef | get_default_topic_for_to_ (std::span< char, MQTT_DEFAULT_TOPIC_MAX_LEN > buf, const char *suffix, size_t suffix_len) const |
| Get this components state/command/... topic into a buffer. | |
| std::string | get_default_topic_for_ (const std::string &suffix) const |
| Get this components state/command/... topic (allocates std::string). | |
| virtual const EntityBase * | get_entity () const =0 |
| Gets the Entity served by this MQTT component. | |
| const StringRef & | friendly_name_ () const |
| Get the friendly name of this MQTT component. | |
| const char * | get_icon_to_ (std::span< char, MAX_ICON_LENGTH > buf) const |
| Get the icon field of this component into a stack buffer. | |
| bool | is_disabled_by_default_ () const |
| Get whether the underlying Entity is disabled by default. | |
| StringRef | get_state_topic_to_ (std::span< char, MQTT_DEFAULT_TOPIC_MAX_LEN > buf) const |
| Get the MQTT state topic into a buffer (no heap allocation for non-lambda custom topics). | |
| StringRef | get_command_topic_to_ (std::span< char, MQTT_DEFAULT_TOPIC_MAX_LEN > buf) const |
| Get the MQTT command topic into a buffer (no heap allocation for non-lambda custom topics). | |
| std::string | get_state_topic_ () const |
| Get the MQTT topic that new states will be shared to (allocates std::string). | |
| std::string | get_command_topic_ () const |
| Get the MQTT topic for listening to commands (allocates std::string). | |
| bool | is_connected_ () const |
| bool | send_discovery_ () |
| Internal method to start sending discovery info, this will call send_discovery(). | |
| StringRef | get_default_object_id_to_ (std::span< char, OBJECT_ID_MAX_LEN > buf) const |
| Get the object ID for this MQTT component, writing to the provided buffer. | |
| bool | compute_is_internal_ () |
| Compute is_internal status based on topics and entity state. | |
Protected Member Functions inherited from esphome::Component | |
| friend | void::setup () |
| friend | void::original_setup () |
| void | set_component_source_ (uint8_t index) |
| Set where this component was loaded from for some debug messages. | |
| void | call_dump_config_ () |
| void | enable_loop_slow_path_ () |
| void | set_component_state_ (uint8_t state) |
| Helper to set component state (clears state bits and sets new state) | |
| bool | set_status_flag_ (uint8_t flag) |
| Helper to set a status LED flag on both this component and the app. | |
| void | set_interval (const char *name, uint32_t interval, std::function< void()> &&f) |
| Set an interval function with a const char* name. | |
| void | set_interval (uint32_t id, uint32_t interval, std::function< void()> &&f) |
| Set an interval function with a numeric ID (zero heap allocation). | |
| void | set_interval (InternalSchedulerID id, uint32_t interval, std::function< void()> &&f) |
| void | set_interval (uint32_t interval, std::function< void()> &&f) |
| bool | cancel_interval (const char *name) |
| Cancel an interval function. | |
| bool | cancel_interval (uint32_t id) |
| bool | cancel_interval (InternalSchedulerID id) |
| void | set_timeout (const char *name, uint32_t timeout, std::function< void()> &&f) |
| Set a timeout function with a const char* name. | |
| void | set_timeout (uint32_t id, uint32_t timeout, std::function< void()> &&f) |
| Set a timeout function with a numeric ID (zero heap allocation). | |
| void | set_timeout (InternalSchedulerID id, uint32_t timeout, std::function< void()> &&f) |
| void | set_timeout (uint32_t timeout, std::function< void()> &&f) |
| bool | cancel_timeout (const char *name) |
| Cancel a timeout function. | |
| bool | cancel_timeout (uint32_t id) |
| bool | cancel_timeout (InternalSchedulerID id) |
| void | defer (const char *name, std::function< void()> &&f) |
| Defer a callback to the next loop() call with a const char* name. | |
| void | defer (std::function< void()> &&f) |
| Defer a callback to the next loop() call. | |
| void | defer (uint32_t id, std::function< void()> &&f) |
| Defer a callback with a numeric ID (zero heap allocation) | |
| bool | cancel_defer (const char *name) |
| Cancel a defer callback using the specified name, name must not be empty. | |
| bool | cancel_defer (uint32_t id) |
| void | status_clear_warning_slow_path_ () |
| void | status_clear_error_slow_path_ () |
Protected Attributes | |
| TemplatableValue< std::string > | custom_state_topic_ {} |
| TemplatableValue< std::string > | custom_command_topic_ {} |
| std::unique_ptr< Availability > | availability_ |
| uint8_t | qos_: 2 {0} |
| uint8_t | subscribe_qos_: 2 {0} |
| bool | command_retain_: 1 {false} |
| bool | retain_: 1 {true} |
| bool | discovery_enabled_: 1 {true} |
| bool | resend_state_: 1 {false} |
| bool | is_internal_: 1 {false} |
| Cached result of compute_is_internal_(), set during setup. | |
Protected Attributes inherited from esphome::Component | |
| uint8_t | component_source_index_ {0} |
| Index into component source PROGMEM lookup table (0 = not set) | |
| uint8_t | warn_if_blocking_over_ {WARN_IF_BLOCKING_OVER_CS} |
| Warn threshold in centiseconds (max 2550ms) | |
| uint8_t | component_state_ {0x00} |
| State of this component - each bit has a purpose: Bits 0-2: Component state (0x00=CONSTRUCTION, 0x01=SETUP, 0x02=LOOP, 0x03=FAILED, 0x04=LOOP_DONE) Bit 3: STATUS_LED_WARNING Bit 4: STATUS_LED_ERROR Bit 5: Has overridden loop() (set at registration time) Bits 6-7: Unused - reserved for future expansion. | |
| volatile bool | pending_enable_loop_ {false} |
| ISR-safe flag for enable_loop_soon_any_context. | |
| ComponentRuntimeStats | runtime_stats_ |
MQTTComponent is the base class for all components that interact with MQTT to expose certain functionality or data from actuators or sensors to clients.
Although this class should work with all MQTT solutions, it has been specifically designed for use with Home Assistant. For example, this class supports Home Assistant MQTT discovery out of the box.
In order to implement automatic Home Assistant discovery, all sub-classes should:
In order to best separate the front- and back-end of ESPHome, all sub-classes should only parse/send MQTT messages and interact with back-end components via callbacks to ensure a clean separation.
Definition at line 91 of file mqtt_component.h.
|
explicitdefault |
Constructs a MQTTComponent.
|
overridevirtual |
Override setup_ so that we can call send_discovery() when needed.
Reimplemented from esphome::Component.
Definition at line 373 of file mqtt_component.cpp.
|
pure virtual |
Override this method to return the component type (e.g. "light", "sensor", ...)
Implemented in esphome::mqtt::MQTTAlarmControlPanelComponent, esphome::mqtt::MQTTBinarySensorComponent, esphome::mqtt::MQTTButtonComponent, esphome::mqtt::MQTTClimateComponent, esphome::mqtt::MQTTCoverComponent, esphome::mqtt::MQTTDateComponent, esphome::mqtt::MQTTDateTimeComponent, esphome::mqtt::MQTTEventComponent, esphome::mqtt::MQTTFanComponent, esphome::mqtt::MQTTJSONLightComponent, esphome::mqtt::MQTTLockComponent, esphome::mqtt::MQTTNumberComponent, esphome::mqtt::MQTTSelectComponent, esphome::mqtt::MQTTSensorComponent, esphome::mqtt::MQTTSwitchComponent, esphome::mqtt::MQTTTextComponent, esphome::mqtt::MQTTTextSensor, esphome::mqtt::MQTTTimeComponent, esphome::mqtt::MQTTUpdateComponent, and esphome::mqtt::MQTTValveComponent.
|
protected |
Compute is_internal status based on topics and entity state.
Called once during setup to cache the result.
Definition at line 421 of file mqtt_component.cpp.
| void esphome::mqtt::MQTTComponent::disable_availability | ( | ) |
Definition at line 372 of file mqtt_component.cpp.
| void esphome::mqtt::MQTTComponent::disable_discovery | ( | ) |
Disable discovery. Sets friendly name to "".
Definition at line 362 of file mqtt_component.cpp.
|
protected |
Get the friendly name of this MQTT component.
Definition at line 416 of file mqtt_component.cpp.
|
protected |
Get the MQTT topic for listening to commands (allocates std::string).
Definition at line 130 of file mqtt_component.cpp.
|
protected |
Get the MQTT command topic into a buffer (no heap allocation for non-lambda custom topics).
| buf | Buffer of exactly MQTT_DEFAULT_TOPIC_MAX_LEN bytes. |
Definition at line 116 of file mqtt_component.cpp.
|
protected |
Get the object ID for this MQTT component, writing to the provided buffer.
Definition at line 417 of file mqtt_component.cpp.
|
protected |
Get this components state/command/... topic (allocates std::string).
| suffix | The suffix/key such as "state" or "command". |
Definition at line 102 of file mqtt_component.cpp.
|
protected |
Get this components state/command/... topic into a buffer.
| buf | The buffer to write to (must be exactly MQTT_DEFAULT_TOPIC_MAX_LEN). |
| suffix | The suffix/key such as "state" or "command". |
Definition at line 77 of file mqtt_component.cpp.
|
protected |
Helper method to get the discovery topic for this component into a buffer.
Definition at line 54 of file mqtt_component.cpp.
|
protectedpure virtual |
Gets the Entity served by this MQTT component.
Implemented in esphome::mqtt::MQTTAlarmControlPanelComponent, esphome::mqtt::MQTTBinarySensorComponent, esphome::mqtt::MQTTButtonComponent, esphome::mqtt::MQTTCoverComponent, esphome::mqtt::MQTTDateComponent, esphome::mqtt::MQTTDateTimeComponent, esphome::mqtt::MQTTEventComponent, esphome::mqtt::MQTTFanComponent, esphome::mqtt::MQTTJSONLightComponent, esphome::mqtt::MQTTLockComponent, esphome::mqtt::MQTTNumberComponent, esphome::mqtt::MQTTSelectComponent, esphome::mqtt::MQTTSensorComponent, esphome::mqtt::MQTTSwitchComponent, esphome::mqtt::MQTTTextComponent, esphome::mqtt::MQTTTextSensor, esphome::mqtt::MQTTTimeComponent, esphome::mqtt::MQTTUpdateComponent, and esphome::mqtt::MQTTValveComponent.
|
inlineprotected |
Get the icon field of this component into a stack buffer.
Definition at line 305 of file mqtt_component.h.
| uint8_t esphome::mqtt::MQTTComponent::get_qos | ( | ) | const |
Definition at line 343 of file mqtt_component.cpp.
| bool esphome::mqtt::MQTTComponent::get_retain | ( | ) | const |
Definition at line 345 of file mqtt_component.cpp.
|
overridevirtual |
MQTT_COMPONENT setup priority.
Reimplemented from esphome::Component.
Definition at line 361 of file mqtt_component.cpp.
|
protected |
Get the MQTT topic that new states will be shared to (allocates std::string).
Definition at line 124 of file mqtt_component.cpp.
|
protected |
Get the MQTT state topic into a buffer (no heap allocation for non-lambda custom topics).
| buf | Buffer of exactly MQTT_DEFAULT_TOPIC_MAX_LEN bytes. |
Definition at line 108 of file mqtt_component.cpp.
|
protected |
Definition at line 413 of file mqtt_component.cpp.
|
protected |
Get whether the underlying Entity is disabled by default.
Definition at line 420 of file mqtt_component.cpp.
| bool esphome::mqtt::MQTTComponent::is_discovery_enabled | ( | ) | const |
Definition at line 347 of file mqtt_component.cpp.
|
inline |
Returns cached is_internal result (computed once during setup).
Definition at line 107 of file mqtt_component.h.
|
inline |
Check if a resend is pending (called by MQTTClientComponent to rate-limit work)
Definition at line 151 of file mqtt_component.h.
| void esphome::mqtt::MQTTComponent::process_resend | ( | ) |
Process pending resend if needed (called by MQTTClientComponent)
Definition at line 396 of file mqtt_component.cpp.
| bool esphome::mqtt::MQTTComponent::publish | ( | const char * | topic, |
| const char * | payload ) |
Send a MQTT message (no heap allocation for topic).
| topic | The topic as C string. |
| payload | The null-terminated payload. |
Definition at line 150 of file mqtt_component.cpp.
| bool esphome::mqtt::MQTTComponent::publish | ( | const char * | topic, |
| const char * | payload, | ||
| size_t | payload_length ) |
Send a MQTT message (no heap allocation for topic).
| topic | The topic as C string. |
| payload | The payload buffer. |
| payload_length | The length of the payload. |
Definition at line 144 of file mqtt_component.cpp.
| bool esphome::mqtt::MQTTComponent::publish | ( | const char * | topic, |
| ProgmemStr | payload ) |
Send a MQTT message with a PROGMEM string payload (no heap allocation for topic).
| topic | The topic as C string. |
| payload | The payload (ProgmemStr - stored in flash on ESP8266). |
Definition at line 159 of file mqtt_component.cpp.
|
inline |
Send a MQTT message.
| topic | The topic. |
| payload | The null-terminated payload. |
Definition at line 176 of file mqtt_component.h.
| bool esphome::mqtt::MQTTComponent::publish | ( | const std::string & | topic, |
| const char * | payload, | ||
| size_t | payload_length ) |
Send a MQTT message.
| topic | The topic. |
| payload | The payload buffer. |
| payload_length | The length of the payload. |
Definition at line 140 of file mqtt_component.cpp.
| bool esphome::mqtt::MQTTComponent::publish | ( | const std::string & | topic, |
| const std::string & | payload ) |
Send a MQTT message.
| topic | The topic. |
| payload | The payload. |
Definition at line 136 of file mqtt_component.cpp.
| bool esphome::mqtt::MQTTComponent::publish | ( | const std::string & | topic, |
| ProgmemStr | payload ) |
Send a MQTT message with a PROGMEM string payload.
| topic | The topic. |
| payload | The payload (ProgmemStr - stored in flash on ESP8266). |
Definition at line 155 of file mqtt_component.cpp.
|
inline |
Send a MQTT message (no heap allocation for topic).
| topic | The topic as StringRef (for use with get_state_topic_to_()). |
| payload | The null-terminated payload. |
Definition at line 210 of file mqtt_component.h.
|
inline |
Send a MQTT message (no heap allocation for topic).
| topic | The topic as StringRef (for use with get_state_topic_to_()). |
| payload | The payload buffer. |
| payload_length | The length of the payload. |
Definition at line 194 of file mqtt_component.h.
|
inline |
Send a MQTT message with a PROGMEM string payload (no heap allocation for topic).
| topic | The topic as StringRef (for use with get_state_topic_to_()). |
| payload | The payload (ProgmemStr - stored in flash on ESP8266). |
Definition at line 232 of file mqtt_component.h.
| bool esphome::mqtt::MQTTComponent::publish_json | ( | const char * | topic, |
| const json::json_build_t & | f ) |
Construct and send a JSON MQTT message (no heap allocation for topic).
| topic | The topic as C string. |
| f | The Json Message builder. |
Definition at line 174 of file mqtt_component.cpp.
| bool esphome::mqtt::MQTTComponent::publish_json | ( | const std::string & | topic, |
| const json::json_build_t & | f ) |
Construct and send a JSON MQTT message.
| topic | The topic. |
| f | The Json Message builder. |
Definition at line 170 of file mqtt_component.cpp.
|
inline |
Construct and send a JSON MQTT message (no heap allocation for topic).
| topic | The topic as StringRef (for use with get_state_topic_to_()). |
| f | The Json Message builder. |
Definition at line 254 of file mqtt_component.h.
| void esphome::mqtt::MQTTComponent::schedule_resend_state | ( | ) |
Internal method for the MQTT client base to schedule a resend of the state on reconnect.
Definition at line 412 of file mqtt_component.cpp.
|
pure virtual |
Send discovery info the Home Assistant, override this.
Implemented in esphome::mqtt::MQTTAlarmControlPanelComponent, esphome::mqtt::MQTTBinarySensorComponent, esphome::mqtt::MQTTButtonComponent, esphome::mqtt::MQTTClimateComponent, esphome::mqtt::MQTTCoverComponent, esphome::mqtt::MQTTDateComponent, esphome::mqtt::MQTTDateTimeComponent, esphome::mqtt::MQTTEventComponent, esphome::mqtt::MQTTFanComponent, esphome::mqtt::MQTTJSONLightComponent, esphome::mqtt::MQTTLockComponent, esphome::mqtt::MQTTNumberComponent, esphome::mqtt::MQTTSelectComponent, esphome::mqtt::MQTTSensorComponent, esphome::mqtt::MQTTSwitchComponent, esphome::mqtt::MQTTTextComponent, esphome::mqtt::MQTTTextSensor, esphome::mqtt::MQTTTimeComponent, esphome::mqtt::MQTTUpdateComponent, and esphome::mqtt::MQTTValveComponent.
|
protected |
Internal method to start sending discovery info, this will call send_discovery().
Definition at line 180 of file mqtt_component.cpp.
|
pure virtual |
Implemented in esphome::mqtt::MQTTAlarmControlPanelComponent, esphome::mqtt::MQTTBinarySensorComponent, esphome::mqtt::MQTTButtonComponent, esphome::mqtt::MQTTClimateComponent, esphome::mqtt::MQTTCoverComponent, esphome::mqtt::MQTTDateComponent, esphome::mqtt::MQTTDateTimeComponent, esphome::mqtt::MQTTEventComponent, esphome::mqtt::MQTTFanComponent, esphome::mqtt::MQTTJSONLightComponent, esphome::mqtt::MQTTLockComponent, esphome::mqtt::MQTTNumberComponent, esphome::mqtt::MQTTSelectComponent, esphome::mqtt::MQTTSensorComponent, esphome::mqtt::MQTTSwitchComponent, esphome::mqtt::MQTTTextComponent, esphome::mqtt::MQTTTextSensor, esphome::mqtt::MQTTTimeComponent, esphome::mqtt::MQTTUpdateComponent, and esphome::mqtt::MQTTValveComponent.
| void esphome::mqtt::MQTTComponent::set_availability | ( | std::string | topic, |
| std::string | payload_available, | ||
| std::string | payload_not_available ) |
Set the Home Assistant availability data.
See See Home Assistant for more info.
Definition at line 365 of file mqtt_component.cpp.
| void esphome::mqtt::MQTTComponent::set_command_retain | ( | bool | command_retain | ) |
Set whether command message should be retained.
Definition at line 363 of file mqtt_component.cpp.
|
inline |
Definition at line 131 of file mqtt_component.h.
|
inline |
Set a custom state topic. Do not set for default behavior.
Definition at line 128 of file mqtt_component.h.
| void esphome::mqtt::MQTTComponent::set_qos | ( | uint8_t | qos | ) |
Set QOS for state messages.
Definition at line 48 of file mqtt_component.cpp.
| void esphome::mqtt::MQTTComponent::set_retain | ( | bool | retain | ) |
Set whether state message should be retained.
Definition at line 52 of file mqtt_component.cpp.
| void esphome::mqtt::MQTTComponent::set_subscribe_qos | ( | uint8_t | qos | ) |
Set the QOS for subscribe messages (used in discovery).
Definition at line 50 of file mqtt_component.cpp.
| void esphome::mqtt::MQTTComponent::subscribe | ( | const std::string & | topic, |
| mqtt_callback_t | callback, | ||
| uint8_t | qos = 0 ) |
Subscribe to a MQTT topic.
| topic | The topic. Wildcards are currently not supported. |
| callback | The callback that will be called when a message with matching topic is received. |
| qos | The MQTT quality of service. Defaults to 0. |
Definition at line 351 of file mqtt_component.cpp.
| void esphome::mqtt::MQTTComponent::subscribe_json | ( | const std::string & | topic, |
| const mqtt_json_callback_t & | callback, | ||
| uint8_t | qos = 0 ) |
Subscribe to a MQTT topic and automatically parse JSON payload.
If an invalid JSON payload is received, the callback will not be called.
| topic | The topic. Wildcards are currently not supported. |
| callback | The callback with a parsed JsonObject that will be called when a message with matching topic is received. |
| qos | The MQTT quality of service. Defaults to 0. |
Definition at line 355 of file mqtt_component.cpp.
|
protected |
Definition at line 339 of file mqtt_component.h.
|
protected |
Definition at line 344 of file mqtt_component.h.
|
protected |
Definition at line 337 of file mqtt_component.h.
|
protected |
Definition at line 336 of file mqtt_component.h.
|
protected |
Definition at line 346 of file mqtt_component.h.
|
protected |
Cached result of compute_is_internal_(), set during setup.
Definition at line 348 of file mqtt_component.h.
|
protected |
Definition at line 342 of file mqtt_component.h.
|
protected |
Definition at line 347 of file mqtt_component.h.
|
protected |
Definition at line 345 of file mqtt_component.h.
|
protected |
Definition at line 343 of file mqtt_component.h.