#include "subscribe_state.h" #ifdef USE_API #include "api_connection.h" #include "esphome/core/log.h" namespace esphome::api { // Generate entity handler implementations using macros #ifdef USE_BINARY_SENSOR INITIAL_STATE_HANDLER(binary_sensor, binary_sensor::BinarySensor) #endif #ifdef USE_COVER INITIAL_STATE_HANDLER(cover, cover::Cover) #endif #ifdef USE_FAN INITIAL_STATE_HANDLER(fan, fan::Fan) #endif #ifdef USE_LIGHT INITIAL_STATE_HANDLER(light, light::LightState) #endif #ifdef USE_SENSOR INITIAL_STATE_HANDLER(sensor, sensor::Sensor) #endif #ifdef USE_SWITCH INITIAL_STATE_HANDLER(switch, switch_::Switch) #endif #ifdef USE_TEXT_SENSOR INITIAL_STATE_HANDLER(text_sensor, text_sensor::TextSensor) #endif #ifdef USE_CLIMATE INITIAL_STATE_HANDLER(climate, climate::Climate) #endif #ifdef USE_NUMBER INITIAL_STATE_HANDLER(number, number::Number) #endif #ifdef USE_DATETIME_DATE INITIAL_STATE_HANDLER(date, datetime::DateEntity) #endif #ifdef USE_DATETIME_TIME INITIAL_STATE_HANDLER(time, datetime::TimeEntity) #endif #ifdef USE_DATETIME_DATETIME INITIAL_STATE_HANDLER(datetime, datetime::DateTimeEntity) #endif #ifdef USE_TEXT INITIAL_STATE_HANDLER(text, text::Text) #endif #ifdef USE_SELECT INITIAL_STATE_HANDLER(select, select::Select) #endif #ifdef USE_LOCK INITIAL_STATE_HANDLER(lock, lock::Lock) #endif #ifdef USE_VALVE INITIAL_STATE_HANDLER(valve, valve::Valve) #endif #ifdef USE_MEDIA_PLAYER INITIAL_STATE_HANDLER(media_player, media_player::MediaPlayer) #endif #ifdef USE_ALARM_CONTROL_PANEL INITIAL_STATE_HANDLER(alarm_control_panel, alarm_control_panel::AlarmControlPanel) #endif #ifdef USE_WATER_HEATER INITIAL_STATE_HANDLER(water_heater, water_heater::WaterHeater) #endif #ifdef USE_UPDATE INITIAL_STATE_HANDLER(update, update::UpdateEntity) #endif // event is an ENTITY_CONTROLLER_TYPE_ but has no state to send. #ifdef USE_EVENT bool InitialStateIterator::on_event(event::Event *entity) { return true; } #endif InitialStateIterator::InitialStateIterator(APIConnection *client) : client_(client) {} } // namespace esphome::api #endif