ESPHome 2025.8.0b1
Loading...
Searching...
No Matches
subscribe_state.h
Go to the documentation of this file.
1#pragma once
2
4#ifdef USE_API
8namespace esphome::api {
9
10class APIConnection;
11
12// Macro for generating InitialStateIterator handlers
13// Calls send_*_state
14#define INITIAL_STATE_HANDLER(entity_type, EntityClass) \
15 bool InitialStateIterator::on_##entity_type(EntityClass *entity) { /* NOLINT(bugprone-macro-parentheses) */ \
16 return this->client_->send_##entity_type##_state(entity); \
17 }
18
20 public:
22#ifdef USE_BINARY_SENSOR
24#endif
25#ifdef USE_COVER
26 bool on_cover(cover::Cover *entity) override;
27#endif
28#ifdef USE_FAN
29 bool on_fan(fan::Fan *entity) override;
30#endif
31#ifdef USE_LIGHT
32 bool on_light(light::LightState *entity) override;
33#endif
34#ifdef USE_SENSOR
35 bool on_sensor(sensor::Sensor *entity) override;
36#endif
37#ifdef USE_SWITCH
38 bool on_switch(switch_::Switch *entity) override;
39#endif
40#ifdef USE_BUTTON
41 bool on_button(button::Button *button) override { return true; };
42#endif
43#ifdef USE_TEXT_SENSOR
45#endif
46#ifdef USE_CLIMATE
47 bool on_climate(climate::Climate *entity) override;
48#endif
49#ifdef USE_NUMBER
50 bool on_number(number::Number *entity) override;
51#endif
52#ifdef USE_DATETIME_DATE
53 bool on_date(datetime::DateEntity *entity) override;
54#endif
55#ifdef USE_DATETIME_TIME
56 bool on_time(datetime::TimeEntity *entity) override;
57#endif
58#ifdef USE_DATETIME_DATETIME
59 bool on_datetime(datetime::DateTimeEntity *entity) override;
60#endif
61#ifdef USE_TEXT
62 bool on_text(text::Text *entity) override;
63#endif
64#ifdef USE_SELECT
65 bool on_select(select::Select *entity) override;
66#endif
67#ifdef USE_LOCK
68 bool on_lock(lock::Lock *entity) override;
69#endif
70#ifdef USE_VALVE
71 bool on_valve(valve::Valve *entity) override;
72#endif
73#ifdef USE_MEDIA_PLAYER
75#endif
76#ifdef USE_ALARM_CONTROL_PANEL
78#endif
79#ifdef USE_EVENT
80 bool on_event(event::Event *event) override { return true; };
81#endif
82#ifdef USE_UPDATE
83 bool on_update(update::UpdateEntity *entity) override;
84#endif
85 bool completed() { return this->state_ == IteratorState::NONE; }
86
87 protected:
89};
90
91} // namespace esphome::api
92#endif
bool on_fan(fan::Fan *entity) override
bool on_number(number::Number *entity) override
bool on_binary_sensor(binary_sensor::BinarySensor *entity) override
bool on_media_player(media_player::MediaPlayer *entity) override
bool on_lock(lock::Lock *entity) override
bool on_valve(valve::Valve *entity) override
bool on_climate(climate::Climate *entity) override
InitialStateIterator(APIConnection *client)
bool on_datetime(datetime::DateTimeEntity *entity) override
bool on_sensor(sensor::Sensor *entity) override
bool on_switch(switch_::Switch *entity) override
bool on_light(light::LightState *entity) override
bool on_select(select::Select *entity) override
bool on_event(event::Event *event) override
bool on_text_sensor(text_sensor::TextSensor *entity) override
bool on_date(datetime::DateEntity *entity) override
bool on_update(update::UpdateEntity *entity) override
bool on_button(button::Button *button) override
bool on_alarm_control_panel(alarm_control_panel::AlarmControlPanel *entity) override
bool on_time(datetime::TimeEntity *entity) override
bool on_cover(cover::Cover *entity) override
bool on_text(text::Text *entity) override
Base class for all binary_sensor-type classes.
Base class for all buttons.
Definition button.h:29
ClimateDevice - This is the base class for all climate integrations.
Definition climate.h:168
Base class for all cover devices.
Definition cover.h:111
This class represents the communication layer between the front-end MQTT layer and the hardware outpu...
Definition light_state.h:66
Base class for all locks.
Definition lock.h:103
Base-class for all numbers.
Definition number.h:39
Base-class for all selects.
Definition select.h:31
Base-class for all sensors.
Definition sensor.h:59
Base class for all switches.
Definition switch.h:39
Base-class for all text inputs.
Definition text.h:24
Base class for all valve devices.
Definition valve.h:105