ESPHome  2022.11.3
mqtt_button.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "esphome/core/defines.h"
4 
5 #ifdef USE_MQTT
6 #ifdef USE_BUTTON
7 
9 #include "mqtt_component.h"
10 
11 namespace esphome {
12 namespace mqtt {
13 
15  public:
16  explicit MQTTButtonComponent(button::Button *button);
17 
18  // ========== INTERNAL METHODS ==========
19  // (In most use cases you won't need these)
20  void setup() override;
21  void dump_config() override;
22 
24  bool send_initial_state() override { return true; }
25 
26  void send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) override;
27 
28  protected:
30  std::string component_type() const override;
31  const EntityBase *get_entity() const override;
32 
34 };
35 
36 } // namespace mqtt
37 } // namespace esphome
38 
39 #endif
40 #endif // USE_MQTT
MQTTButtonComponent(button::Button *button)
Definition: mqtt_button.cpp:16
bool send_initial_state() override
Buttons do not send a state so just return true.
Definition: mqtt_button.h:24
Base class for all buttons.
Definition: button.h:22
std::string component_type() const override
"button" component type.
Definition: mqtt_button.cpp:39
Simple Helper struct used for Home Assistant MQTT send_discovery().
void send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) override
Definition: mqtt_button.cpp:33
Definition: a4988.cpp:4
const EntityBase * get_entity() const override
Definition: mqtt_button.cpp:40
MQTTComponent is the base class for all components that interact with MQTT to expose certain function...