ESPHome 2026.1.4
Loading...
Searching...
No Matches
mqtt_sensor.h
Go to the documentation of this file.
1#pragma once
2
4
5#ifdef USE_MQTT
6#ifdef USE_SENSOR
7
9#include "mqtt_component.h"
10
11namespace esphome::mqtt {
12
14 public:
22 explicit MQTTSensorComponent(sensor::Sensor *sensor);
23
25 void set_expire_after(uint32_t expire_after);
28
29 void send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) override;
30
31 // ========== INTERNAL METHODS ==========
32 // (In most use cases you won't need these)
34 void setup() override;
35
36 void dump_config() override;
37
40
41 bool publish_state(float value);
42 bool send_initial_state() override;
43
44 protected:
46 const char *component_type() const override;
47 const EntityBase *get_entity() const override;
48
50 optional<uint32_t> expire_after_; // Override the expire after advertised to Home Assistant
51};
52
53} // namespace esphome::mqtt
54
55#endif
56#endif // USE_MQTT
MQTTComponent is the base class for all components that interact with MQTT to expose certain function...
uint32_t get_expire_after() const
Get the expire_after in milliseconds used for Home Assistant discovery, first checks override.
const EntityBase * get_entity() const override
optional< uint32_t > expire_after_
Definition mqtt_sensor.h:50
const char * component_type() const override
Override for MQTTComponent, returns "sensor".
MQTTSensorComponent(sensor::Sensor *sensor)
Construct this MQTTSensorComponent instance with the provided friendly_name and sensor.
void send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) override
void set_expire_after(uint32_t expire_after)
Setup an expiry, 0 disables it.
void disable_expire_after()
Disable Home Assistant value expiry.
void setup() override
Override setup.
Base-class for all sensors.
Definition sensor.h:42
Simple Helper struct used for Home Assistant MQTT send_discovery().