ESPHome  2024.11.0
mqtt_time.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_DATETIME_TIME
7 
9 #include "mqtt_component.h"
10 
11 namespace esphome {
12 namespace mqtt {
13 
15  public:
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(uint8_t hour, uint8_t minute, uint8_t second);
33 
34  protected:
35  std::string component_type() const override;
36  const EntityBase *get_entity() const override;
37 
39 };
40 
41 } // namespace mqtt
42 } // namespace esphome
43 
44 #endif // USE_DATETIME_DATE
45 #endif // USE_MQTT
std::string component_type() const override
Definition: mqtt_time.cpp:43
void send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) override
Definition: mqtt_time.cpp:46
uint8_t minute
void setup() override
Override setup.
Definition: mqtt_time.cpp:20
uint8_t hour
Simple Helper struct used for Home Assistant MQTT send_discovery().
uint8_t second
const EntityBase * get_entity() const override
Definition: mqtt_time.cpp:44
MQTTTimeComponent(datetime::TimeEntity *time)
Construct this MQTTTimeComponent instance with the provided friendly_name and time.
Definition: mqtt_time.cpp:18
Implementation of SPI Controller mode.
Definition: a01nyub.cpp:7
datetime::TimeEntity * time_
Definition: mqtt_time.h:38
bool send_initial_state() override
Definition: mqtt_time.cpp:49
bool publish_state(uint8_t hour, uint8_t minute, uint8_t second)
Definition: mqtt_time.cpp:56
MQTTComponent is the base class for all components that interact with MQTT to expose certain function...