ESPHome  2022.11.3
mqtt_select.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_SELECT
7 
9 #include "mqtt_component.h"
10 
11 namespace esphome {
12 namespace mqtt {
13 
15  public:
20  explicit MQTTSelectComponent(select::Select *select);
21 
22  // ========== INTERNAL METHODS ==========
23  // (In most use cases you won't need these)
25  void setup() override;
26  void dump_config() override;
27 
28  void send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) override;
29 
30  bool send_initial_state() override;
31 
32  bool publish_state(const std::string &value);
33 
34  protected:
36  std::string component_type() const override;
37  const EntityBase *get_entity() const override;
38 
40 };
41 
42 } // namespace mqtt
43 } // namespace esphome
44 
45 #endif
46 #endif // USE_MQTT
MQTTSelectComponent(select::Select *select)
Construct this MQTTSelectComponent instance with the provided friendly_name and select.
Definition: mqtt_select.cpp:16
Simple Helper struct used for Home Assistant MQTT send_discovery().
void send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) override
Definition: mqtt_select.cpp:35
void setup() override
Override setup.
Definition: mqtt_select.cpp:18
Base-class for all selects.
Definition: select.h:24
Definition: a4988.cpp:4
const EntityBase * get_entity() const override
Definition: mqtt_select.cpp:33
std::string component_type() const override
Override for MQTTComponent, returns "select".
Definition: mqtt_select.cpp:32
bool publish_state(const std::string &value)
Definition: mqtt_select.cpp:51
MQTTComponent is the base class for all components that interact with MQTT to expose certain function...