ESPHome  2024.4.0
controller.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "esphome/core/defines.h"
4 #ifdef USE_BINARY_SENSOR
6 #endif
7 #ifdef USE_FAN
9 #endif
10 #ifdef USE_LIGHT
12 #endif
13 #ifdef USE_COVER
15 #endif
16 #ifdef USE_SENSOR
18 #endif
19 #ifdef USE_TEXT_SENSOR
21 #endif
22 #ifdef USE_SWITCH
24 #endif
25 #ifdef USE_BUTTON
27 #endif
28 #ifdef USE_CLIMATE
30 #endif
31 #ifdef USE_NUMBER
33 #endif
34 #ifdef USE_DATETIME_DATE
36 #endif
37 #ifdef USE_DATETIME_TIME
39 #endif
40 #ifdef USE_TEXT
42 #endif
43 #ifdef USE_SELECT
45 #endif
46 #ifdef USE_LOCK
48 #endif
49 #ifdef USE_MEDIA_PLAYER
51 #endif
52 #ifdef USE_ALARM_CONTROL_PANEL
54 #endif
55 
56 namespace esphome {
57 
58 class Controller {
59  public:
60  void setup_controller(bool include_internal = false);
61 #ifdef USE_BINARY_SENSOR
63 #endif
64 #ifdef USE_FAN
65  virtual void on_fan_update(fan::Fan *obj){};
66 #endif
67 #ifdef USE_LIGHT
68  virtual void on_light_update(light::LightState *obj){};
69 #endif
70 #ifdef USE_SENSOR
71  virtual void on_sensor_update(sensor::Sensor *obj, float state){};
72 #endif
73 #ifdef USE_SWITCH
74  virtual void on_switch_update(switch_::Switch *obj, bool state){};
75 #endif
76 #ifdef USE_COVER
77  virtual void on_cover_update(cover::Cover *obj){};
78 #endif
79 #ifdef USE_TEXT_SENSOR
80  virtual void on_text_sensor_update(text_sensor::TextSensor *obj, const std::string &state){};
81 #endif
82 #ifdef USE_CLIMATE
83  virtual void on_climate_update(climate::Climate *obj){};
84 #endif
85 #ifdef USE_NUMBER
86  virtual void on_number_update(number::Number *obj, float state){};
87 #endif
88 #ifdef USE_DATETIME_DATE
89  virtual void on_date_update(datetime::DateEntity *obj){};
90 #endif
91 #ifdef USE_DATETIME_TIME
92  virtual void on_time_update(datetime::TimeEntity *obj){};
93 #endif
94 #ifdef USE_TEXT
95  virtual void on_text_update(text::Text *obj, const std::string &state){};
96 #endif
97 #ifdef USE_SELECT
98  virtual void on_select_update(select::Select *obj, const std::string &state, size_t index){};
99 #endif
100 #ifdef USE_LOCK
101  virtual void on_lock_update(lock::Lock *obj){};
102 #endif
103 #ifdef USE_MEDIA_PLAYER
105 #endif
106 #ifdef USE_ALARM_CONTROL_PANEL
108 #endif
109 };
110 
111 } // namespace esphome
Base class for all switches.
Definition: switch.h:39
virtual void on_text_update(text::Text *obj, const std::string &state)
Definition: controller.h:95
This class represents the communication layer between the front-end MQTT layer and the hardware outpu...
Definition: light_state.h:34
Base class for all cover devices.
Definition: cover.h:111
virtual void on_select_update(select::Select *obj, const std::string &state, size_t index)
Definition: controller.h:98
virtual void on_date_update(datetime::DateEntity *obj)
Definition: controller.h:89
virtual void on_light_update(light::LightState *obj)
Definition: controller.h:68
virtual void on_number_update(number::Number *obj, float state)
Definition: controller.h:86
virtual void on_lock_update(lock::Lock *obj)
Definition: controller.h:101
Base-class for all text inputs.
Definition: text.h:24
virtual void on_time_update(datetime::TimeEntity *obj)
Definition: controller.h:92
virtual void on_cover_update(cover::Cover *obj)
Definition: controller.h:77
Base-class for all numbers.
Definition: number.h:39
virtual void on_climate_update(climate::Climate *obj)
Definition: controller.h:83
virtual void on_alarm_control_panel_update(alarm_control_panel::AlarmControlPanel *obj)
Definition: controller.h:107
virtual void on_fan_update(fan::Fan *obj)
Definition: controller.h:65
virtual void on_text_sensor_update(text_sensor::TextSensor *obj, const std::string &state)
Definition: controller.h:80
virtual void on_sensor_update(sensor::Sensor *obj, float state)
Definition: controller.h:71
virtual void on_media_player_update(media_player::MediaPlayer *obj)
Definition: controller.h:104
void setup_controller(bool include_internal=false)
Definition: controller.cpp:7
Base-class for all selects.
Definition: select.h:31
This is a workaround until we can figure out a way to get the tflite-micro idf component code availab...
Definition: a01nyub.cpp:7
Base class for all binary_sensor-type classes.
Definition: binary_sensor.h:37
virtual void on_switch_update(switch_::Switch *obj, bool state)
Definition: controller.h:74
Base-class for all sensors.
Definition: sensor.h:57
virtual void on_binary_sensor_update(binary_sensor::BinarySensor *obj, bool state)
Definition: controller.h:62
Base class for all locks.
Definition: lock.h:103
ClimateDevice - This is the base class for all climate integrations.
Definition: climate.h:168
bool state
Definition: fan.h:34