ESPHome  2023.9.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_SELECT
36 #endif
37 #ifdef USE_LOCK
39 #endif
40 #ifdef USE_MEDIA_PLAYER
42 #endif
43 #ifdef USE_ALARM_CONTROL_PANEL
45 #endif
46 
47 namespace esphome {
48 
49 class Controller {
50  public:
51  void setup_controller(bool include_internal = false);
52 #ifdef USE_BINARY_SENSOR
54 #endif
55 #ifdef USE_FAN
56  virtual void on_fan_update(fan::Fan *obj){};
57 #endif
58 #ifdef USE_LIGHT
59  virtual void on_light_update(light::LightState *obj){};
60 #endif
61 #ifdef USE_SENSOR
62  virtual void on_sensor_update(sensor::Sensor *obj, float state){};
63 #endif
64 #ifdef USE_SWITCH
65  virtual void on_switch_update(switch_::Switch *obj, bool state){};
66 #endif
67 #ifdef USE_COVER
68  virtual void on_cover_update(cover::Cover *obj){};
69 #endif
70 #ifdef USE_TEXT_SENSOR
71  virtual void on_text_sensor_update(text_sensor::TextSensor *obj, const std::string &state){};
72 #endif
73 #ifdef USE_CLIMATE
74  virtual void on_climate_update(climate::Climate *obj){};
75 #endif
76 #ifdef USE_NUMBER
77  virtual void on_number_update(number::Number *obj, float state){};
78 #endif
79 #ifdef USE_SELECT
80  virtual void on_select_update(select::Select *obj, const std::string &state, size_t index){};
81 #endif
82 #ifdef USE_LOCK
83  virtual void on_lock_update(lock::Lock *obj){};
84 #endif
85 #ifdef USE_MEDIA_PLAYER
87 #endif
88 #ifdef USE_ALARM_CONTROL_PANEL
90 #endif
91 };
92 
93 } // namespace esphome
Base class for all switches.
Definition: switch.h:39
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:80
virtual void on_light_update(light::LightState *obj)
Definition: controller.h:59
virtual void on_number_update(number::Number *obj, float state)
Definition: controller.h:77
virtual void on_lock_update(lock::Lock *obj)
Definition: controller.h:83
virtual void on_cover_update(cover::Cover *obj)
Definition: controller.h:68
Base-class for all numbers.
Definition: number.h:39
virtual void on_climate_update(climate::Climate *obj)
Definition: controller.h:74
virtual void on_alarm_control_panel_update(alarm_control_panel::AlarmControlPanel *obj)
Definition: controller.h:89
virtual void on_fan_update(fan::Fan *obj)
Definition: controller.h:56
virtual void on_text_sensor_update(text_sensor::TextSensor *obj, const std::string &state)
Definition: controller.h:71
virtual void on_sensor_update(sensor::Sensor *obj, float state)
Definition: controller.h:62
virtual void on_media_player_update(media_player::MediaPlayer *obj)
Definition: controller.h:86
void setup_controller(bool include_internal=false)
Definition: controller.cpp:7
Base-class for all selects.
Definition: select.h:31
Implementation of SPI Controller mode.
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:65
Base-class for all sensors.
Definition: sensor.h:57
virtual void on_binary_sensor_update(binary_sensor::BinarySensor *obj, bool state)
Definition: controller.h:53
Base class for all locks.
Definition: lock.h:103
ClimateDevice - This is the base class for all climate integrations.
Definition: climate.h:161
bool state
Definition: fan.h:34