ESPHome  2024.3.1
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_TEXT
39 #endif
40 #ifdef USE_SELECT
42 #endif
43 #ifdef USE_LOCK
45 #endif
46 #ifdef USE_MEDIA_PLAYER
48 #endif
49 #ifdef USE_ALARM_CONTROL_PANEL
51 #endif
52 
53 namespace esphome {
54 
55 class Controller {
56  public:
57  void setup_controller(bool include_internal = false);
58 #ifdef USE_BINARY_SENSOR
60 #endif
61 #ifdef USE_FAN
62  virtual void on_fan_update(fan::Fan *obj){};
63 #endif
64 #ifdef USE_LIGHT
65  virtual void on_light_update(light::LightState *obj){};
66 #endif
67 #ifdef USE_SENSOR
68  virtual void on_sensor_update(sensor::Sensor *obj, float state){};
69 #endif
70 #ifdef USE_SWITCH
71  virtual void on_switch_update(switch_::Switch *obj, bool state){};
72 #endif
73 #ifdef USE_COVER
74  virtual void on_cover_update(cover::Cover *obj){};
75 #endif
76 #ifdef USE_TEXT_SENSOR
77  virtual void on_text_sensor_update(text_sensor::TextSensor *obj, const std::string &state){};
78 #endif
79 #ifdef USE_CLIMATE
80  virtual void on_climate_update(climate::Climate *obj){};
81 #endif
82 #ifdef USE_NUMBER
83  virtual void on_number_update(number::Number *obj, float state){};
84 #endif
85 #ifdef USE_DATETIME_DATE
86  virtual void on_date_update(datetime::DateEntity *obj){};
87 #endif
88 #ifdef USE_TEXT
89  virtual void on_text_update(text::Text *obj, const std::string &state){};
90 #endif
91 #ifdef USE_SELECT
92  virtual void on_select_update(select::Select *obj, const std::string &state, size_t index){};
93 #endif
94 #ifdef USE_LOCK
95  virtual void on_lock_update(lock::Lock *obj){};
96 #endif
97 #ifdef USE_MEDIA_PLAYER
99 #endif
100 #ifdef USE_ALARM_CONTROL_PANEL
102 #endif
103 };
104 
105 } // 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:89
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:92
virtual void on_date_update(datetime::DateEntity *obj)
Definition: controller.h:86
virtual void on_light_update(light::LightState *obj)
Definition: controller.h:65
virtual void on_number_update(number::Number *obj, float state)
Definition: controller.h:83
virtual void on_lock_update(lock::Lock *obj)
Definition: controller.h:95
Base-class for all text inputs.
Definition: text.h:24
virtual void on_cover_update(cover::Cover *obj)
Definition: controller.h:74
Base-class for all numbers.
Definition: number.h:39
virtual void on_climate_update(climate::Climate *obj)
Definition: controller.h:80
virtual void on_alarm_control_panel_update(alarm_control_panel::AlarmControlPanel *obj)
Definition: controller.h:101
virtual void on_fan_update(fan::Fan *obj)
Definition: controller.h:62
virtual void on_text_sensor_update(text_sensor::TextSensor *obj, const std::string &state)
Definition: controller.h:77
virtual void on_sensor_update(sensor::Sensor *obj, float state)
Definition: controller.h:68
virtual void on_media_player_update(media_player::MediaPlayer *obj)
Definition: controller.h:98
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:71
Base-class for all sensors.
Definition: sensor.h:57
virtual void on_binary_sensor_update(binary_sensor::BinarySensor *obj, bool state)
Definition: controller.h:59
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