diff --git a/esphome/components/api/homeassistant_service.h b/esphome/components/api/homeassistant_service.h index 0877efbf26..8a72765195 100644 --- a/esphome/components/api/homeassistant_service.h +++ b/esphome/components/api/homeassistant_service.h @@ -30,8 +30,7 @@ template class HomeAssistantServiceCallAction : public Actionvariables_.push_back(TemplatableKeyValuePair(key, value)); } - protected: - void play_(Ts... x) override { + void play(Ts... x) override { HomeassistantServiceResponse resp; resp.service = this->service_.value(x...); resp.is_event = this->is_event_; @@ -56,6 +55,7 @@ template class HomeAssistantServiceCallAction : public Actionparent_->send_homeassistant_service_call(resp); } + protected: APIServer *parent_; bool is_event_; std::vector> data_; diff --git a/esphome/components/binary_sensor/automation.h b/esphome/components/binary_sensor/automation.h index b76fbdae0c..6b0321628c 100644 --- a/esphome/components/binary_sensor/automation.h +++ b/esphome/components/binary_sensor/automation.h @@ -138,12 +138,12 @@ template class BinarySensorPublishAction : public Action explicit BinarySensorPublishAction(BinarySensor *sensor) : sensor_(sensor) {} TEMPLATABLE_VALUE(bool, state) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { auto val = this->state_.value(x...); this->sensor_->publish_state(val); } + protected: BinarySensor *sensor_; }; diff --git a/esphome/components/climate/automation.h b/esphome/components/climate/automation.h index 2fd9d81e6b..0cd52b1036 100644 --- a/esphome/components/climate/automation.h +++ b/esphome/components/climate/automation.h @@ -18,8 +18,7 @@ template class ControlAction : public Action { TEMPLATABLE_VALUE(ClimateFanMode, fan_mode) TEMPLATABLE_VALUE(ClimateSwingMode, swing_mode) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { auto call = this->climate_->make_call(); call.set_mode(this->mode_.optional_value(x...)); call.set_target_temperature(this->target_temperature_.optional_value(x...)); @@ -31,6 +30,7 @@ template class ControlAction : public Action { call.perform(); } + protected: Climate *climate_; }; diff --git a/esphome/components/cover/automation.h b/esphome/components/cover/automation.h index bad641c150..0092f987f2 100644 --- a/esphome/components/cover/automation.h +++ b/esphome/components/cover/automation.h @@ -11,9 +11,9 @@ template class OpenAction : public Action { public: explicit OpenAction(Cover *cover) : cover_(cover) {} - protected: - void play_(Ts... x) override { this->cover_->open(); } + void play(Ts... x) override { this->cover_->open(); } + protected: Cover *cover_; }; @@ -21,9 +21,9 @@ template class CloseAction : public Action { public: explicit CloseAction(Cover *cover) : cover_(cover) {} - protected: - void play_(Ts... x) override { this->cover_->close(); } + void play(Ts... x) override { this->cover_->close(); } + protected: Cover *cover_; }; @@ -31,9 +31,9 @@ template class StopAction : public Action { public: explicit StopAction(Cover *cover) : cover_(cover) {} - protected: - void play_(Ts... x) override { this->cover_->stop(); } + void play(Ts... x) override { this->cover_->stop(); } + protected: Cover *cover_; }; @@ -45,8 +45,7 @@ template class ControlAction : public Action { TEMPLATABLE_VALUE(float, position) TEMPLATABLE_VALUE(float, tilt) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { auto call = this->cover_->make_call(); if (this->stop_.has_value()) call.set_stop(this->stop_.value(x...)); @@ -57,6 +56,7 @@ template class ControlAction : public Action { call.perform(); } + protected: Cover *cover_; }; @@ -67,8 +67,7 @@ template class CoverPublishAction : public Action { TEMPLATABLE_VALUE(float, tilt) TEMPLATABLE_VALUE(CoverOperation, current_operation) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { if (this->position_.has_value()) this->cover_->position = this->position_.value(x...); if (this->tilt_.has_value()) @@ -78,6 +77,7 @@ template class CoverPublishAction : public Action { this->cover_->publish_state(); } + protected: Cover *cover_; }; diff --git a/esphome/components/deep_sleep/deep_sleep_component.h b/esphome/components/deep_sleep/deep_sleep_component.h index 6287a2259a..4372a3f66c 100644 --- a/esphome/components/deep_sleep/deep_sleep_component.h +++ b/esphome/components/deep_sleep/deep_sleep_component.h @@ -85,9 +85,9 @@ template class EnterDeepSleepAction : public Action { public: EnterDeepSleepAction(DeepSleepComponent *deep_sleep) : deep_sleep_(deep_sleep) {} - protected: - void play_(Ts... x) override { this->deep_sleep_->begin_sleep(true); } + void play(Ts... x) override { this->deep_sleep_->begin_sleep(true); } + protected: DeepSleepComponent *deep_sleep_; }; @@ -95,9 +95,9 @@ template class PreventDeepSleepAction : public Action { public: PreventDeepSleepAction(DeepSleepComponent *deep_sleep) : deep_sleep_(deep_sleep) {} - protected: - void play_(Ts... x) override { this->deep_sleep_->prevent_deep_sleep(); } + void play(Ts... x) override { this->deep_sleep_->prevent_deep_sleep(); } + protected: DeepSleepComponent *deep_sleep_; }; diff --git a/esphome/components/dfplayer/dfplayer.h b/esphome/components/dfplayer/dfplayer.h index 89f0fb691c..cb9686bb64 100644 --- a/esphome/components/dfplayer/dfplayer.h +++ b/esphome/components/dfplayer/dfplayer.h @@ -104,8 +104,7 @@ class DFPlayer : public uart::UARTDevice, public Component { #define DFPLAYER_SIMPLE_ACTION(ACTION_CLASS, ACTION_METHOD) \ template class ACTION_CLASS : public Action, public Parented { \ - protected: \ - void play_(Ts... x) override { this->parent_->ACTION_METHOD(); } \ + void play(Ts... x) override { this->parent_->ACTION_METHOD(); } \ }; DFPLAYER_SIMPLE_ACTION(NextAction, next) @@ -116,8 +115,7 @@ template class PlayFileAction : public Action, public Par TEMPLATABLE_VALUE(uint16_t, file) TEMPLATABLE_VALUE(boolean, loop) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { auto file = this->file_.value(x...); auto loop = this->loop_.value(x...); if (loop) { @@ -134,8 +132,7 @@ template class PlayFolderAction : public Action, public P TEMPLATABLE_VALUE(uint16_t, file) TEMPLATABLE_VALUE(boolean, loop) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { auto folder = this->folder_.value(x...); auto file = this->file_.value(x...); auto loop = this->loop_.value(x...); @@ -151,8 +148,7 @@ template class SetDeviceAction : public Action, public Pa public: TEMPLATABLE_VALUE(Device, device) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { auto device = this->device_.value(x...); this->parent_->set_device(device); } @@ -162,8 +158,7 @@ template class SetVolumeAction : public Action, public Pa public: TEMPLATABLE_VALUE(uint8_t, volume) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { auto volume = this->volume_.value(x...); this->parent_->set_volume(volume); } @@ -173,8 +168,7 @@ template class SetEqAction : public Action, public Parent public: TEMPLATABLE_VALUE(EqPreset, eq) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { auto eq = this->eq_.value(x...); this->parent_->set_eq(eq); } diff --git a/esphome/components/display/display_buffer.h b/esphome/components/display/display_buffer.h index 2a6ead3306..85871df16e 100644 --- a/esphome/components/display/display_buffer.h +++ b/esphome/components/display/display_buffer.h @@ -392,8 +392,7 @@ template class DisplayPageShowAction : public Action { public: TEMPLATABLE_VALUE(DisplayPage *, page) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { auto *page = this->page_.value(x...); if (page != nullptr) { page->show(); @@ -405,8 +404,7 @@ template class DisplayPageShowNextAction : public Action public: DisplayPageShowNextAction(DisplayBuffer *buffer) : buffer_(buffer) {} - protected: - void play_(Ts... x) override { this->buffer_->show_next_page(); } + void play(Ts... x) override { this->buffer_->show_next_page(); } DisplayBuffer *buffer_; }; @@ -415,8 +413,7 @@ template class DisplayPageShowPrevAction : public Action public: DisplayPageShowPrevAction(DisplayBuffer *buffer) : buffer_(buffer) {} - protected: - void play_(Ts... x) override { this->buffer_->show_prev_page(); } + void play(Ts... x) override { this->buffer_->show_prev_page(); } DisplayBuffer *buffer_; }; diff --git a/esphome/components/esp8266_pwm/esp8266_pwm.h b/esphome/components/esp8266_pwm/esp8266_pwm.h index 5871b0dcbc..51b74f48ba 100644 --- a/esphome/components/esp8266_pwm/esp8266_pwm.h +++ b/esphome/components/esp8266_pwm/esp8266_pwm.h @@ -38,8 +38,7 @@ template class SetFrequencyAction : public Action { SetFrequencyAction(ESP8266PWM *parent) : parent_(parent) {} TEMPLATABLE_VALUE(float, frequency); - protected: - void play_(Ts... x) { + void play(Ts... x) { float freq = this->frequency_.value(x...); this->parent_->update_frequency(freq); } diff --git a/esphome/components/fan/automation.h b/esphome/components/fan/automation.h index f2435a220f..d96ed994e8 100644 --- a/esphome/components/fan/automation.h +++ b/esphome/components/fan/automation.h @@ -14,8 +14,7 @@ template class TurnOnAction : public Action { TEMPLATABLE_VALUE(bool, oscillating) TEMPLATABLE_VALUE(FanSpeed, speed) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { auto call = this->state_->turn_on(); if (this->oscillating_.has_value()) { call.set_oscillating(this->oscillating_.value(x...)); @@ -33,8 +32,7 @@ template class TurnOffAction : public Action { public: explicit TurnOffAction(FanState *state) : state_(state) {} - protected: - void play_(Ts... x) override { this->state_->turn_off().perform(); } + void play(Ts... x) override { this->state_->turn_off().perform(); } FanState *state_; }; @@ -43,8 +41,7 @@ template class ToggleAction : public Action { public: explicit ToggleAction(FanState *state) : state_(state) {} - protected: - void play_(Ts... x) override { this->state_->toggle().perform(); } + void play(Ts... x) override { this->state_->toggle().perform(); } FanState *state_; }; diff --git a/esphome/components/globals/globals_component.h b/esphome/components/globals/globals_component.h index bf839b4256..397c55f6c4 100644 --- a/esphome/components/globals/globals_component.h +++ b/esphome/components/globals/globals_component.h @@ -59,9 +59,9 @@ template class GlobalVarSetAction : public Actionparent_->value() = this->value_.value(x...); } + void play(Ts... x) override { this->parent_->value() = this->value_.value(x...); } + protected: C *parent_; }; diff --git a/esphome/components/http_request/http_request.h b/esphome/components/http_request/http_request.h index 4f164f3409..e6c0510b32 100644 --- a/esphome/components/http_request/http_request.h +++ b/esphome/components/http_request/http_request.h @@ -71,8 +71,7 @@ template class HttpRequestSendAction : public Action { void set_json(std::function json_func) { this->json_func_ = json_func; } - protected: - void play_(Ts... x) override { + void play(Ts... x) override { this->parent_->set_url(this->url_.value(x...)); this->parent_->set_method(this->method_.value(x...)); if (this->body_.has_value()) { @@ -107,6 +106,7 @@ template class HttpRequestSendAction : public Action { this->parent_->close(); } + protected: void encode_json_(Ts... x, JsonObject &root) { for (const auto &item : this->json_) { auto val = item.second; diff --git a/esphome/components/integration/integration_sensor.h b/esphome/components/integration/integration_sensor.h index 85a89f6e43..2fcec069b2 100644 --- a/esphome/components/integration/integration_sensor.h +++ b/esphome/components/integration/integration_sensor.h @@ -76,9 +76,9 @@ template class ResetAction : public Action { public: explicit ResetAction(IntegrationSensor *parent) : parent_(parent) {} - protected: - void play_(Ts... x) override { this->parent_->reset(); } + void play(Ts... x) override { this->parent_->reset(); } + protected: IntegrationSensor *parent_; }; diff --git a/esphome/components/ledc/ledc_output.h b/esphome/components/ledc/ledc_output.h index 7ff0987e0e..3f56f502b0 100644 --- a/esphome/components/ledc/ledc_output.h +++ b/esphome/components/ledc/ledc_output.h @@ -43,12 +43,12 @@ template class SetFrequencyAction : public Action { SetFrequencyAction(LEDCOutput *parent) : parent_(parent) {} TEMPLATABLE_VALUE(float, frequency); - protected: - void play_(Ts... x) { + void play(Ts... x) { float freq = this->frequency_.value(x...); this->parent_->apply_frequency(freq); } + protected: LEDCOutput *parent_; }; diff --git a/esphome/components/light/automation.h b/esphome/components/light/automation.h index 1c641562d4..dfab780658 100644 --- a/esphome/components/light/automation.h +++ b/esphome/components/light/automation.h @@ -13,13 +13,13 @@ template class ToggleAction : public Action { TEMPLATABLE_VALUE(uint32_t, transition_length) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { auto call = this->state_->toggle(); call.set_transition_length(this->transition_length_.optional_value(x...)); call.perform(); } + protected: LightState *state_; }; @@ -38,8 +38,7 @@ template class LightControlAction : public Action { TEMPLATABLE_VALUE(float, color_temperature) TEMPLATABLE_VALUE(std::string, effect) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { auto call = this->parent_->make_call(); call.set_state(this->state_.optional_value(x...)); call.set_brightness(this->brightness_.optional_value(x...)); @@ -54,6 +53,7 @@ template class LightControlAction : public Action { call.perform(); } + protected: LightState *parent_; }; @@ -64,8 +64,7 @@ template class DimRelativeAction : public Action { TEMPLATABLE_VALUE(float, relative_brightness) TEMPLATABLE_VALUE(uint32_t, transition_length) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { auto call = this->parent_->make_call(); float rel = this->relative_brightness_.value(x...); float cur; @@ -78,6 +77,7 @@ template class DimRelativeAction : public Action { call.perform(); } + protected: LightState *parent_; }; @@ -143,8 +143,7 @@ template class AddressableSet : public Action { TEMPLATABLE_VALUE(uint8_t, blue) TEMPLATABLE_VALUE(uint8_t, white) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { auto *out = (AddressableLight *) this->parent_->get_output(); int32_t range_from = this->range_from_.value_or(x..., 0); int32_t range_to = this->range_to_.value_or(x..., out->size() - 1) + 1; @@ -160,6 +159,7 @@ template class AddressableSet : public Action { out->schedule_show(); } + protected: LightState *parent_; }; diff --git a/esphome/components/mhz19/mhz19.h b/esphome/components/mhz19/mhz19.h index bdb2c50d19..151351be4c 100644 --- a/esphome/components/mhz19/mhz19.h +++ b/esphome/components/mhz19/mhz19.h @@ -38,9 +38,9 @@ template class MHZ19CalibrateZeroAction : public Action { public: MHZ19CalibrateZeroAction(MHZ19Component *mhz19) : mhz19_(mhz19) {} - protected: - void play_(Ts... x) override { this->mhz19_->calibrate_zero(); } + void play(Ts... x) override { this->mhz19_->calibrate_zero(); } + protected: MHZ19Component *mhz19_; }; @@ -48,9 +48,9 @@ template class MHZ19ABCEnableAction : public Action { public: MHZ19ABCEnableAction(MHZ19Component *mhz19) : mhz19_(mhz19) {} - protected: - void play_(Ts... x) override { this->mhz19_->abc_enable(); } + void play(Ts... x) override { this->mhz19_->abc_enable(); } + protected: MHZ19Component *mhz19_; }; @@ -58,9 +58,9 @@ template class MHZ19ABCDisableAction : public Action { public: MHZ19ABCDisableAction(MHZ19Component *mhz19) : mhz19_(mhz19) {} - protected: - void play_(Ts... x) override { this->mhz19_->abc_disable(); } + void play(Ts... x) override { this->mhz19_->abc_disable(); } + protected: MHZ19Component *mhz19_; }; diff --git a/esphome/components/mqtt/mqtt_client.h b/esphome/components/mqtt/mqtt_client.h index fbd2435bfc..2bbebff845 100644 --- a/esphome/components/mqtt/mqtt_client.h +++ b/esphome/components/mqtt/mqtt_client.h @@ -299,12 +299,12 @@ template class MQTTPublishAction : public Action { TEMPLATABLE_VALUE(uint8_t, qos) TEMPLATABLE_VALUE(bool, retain) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { this->parent_->publish(this->topic_.value(x...), this->payload_.value(x...), this->qos_.value(x...), this->retain_.value(x...)); } + protected: MQTTClientComponent *parent_; }; @@ -317,14 +317,15 @@ template class MQTTPublishJsonAction : public Action { void set_payload(std::function payload) { this->payload_ = payload; } - protected: - void play_(Ts... x) override { + void play(Ts... x) override { auto f = std::bind(&MQTTPublishJsonAction::encode_, this, x..., std::placeholders::_1); auto topic = this->topic_.value(x...); auto qos = this->qos_.value(x...); auto retain = this->retain_.value(x...); this->parent_->publish_json(topic, f, qos, retain); } + + protected: void encode_(Ts... x, JsonObject &root) { this->payload_(x..., root); } std::function payload_; MQTTClientComponent *parent_; diff --git a/esphome/components/output/automation.h b/esphome/components/output/automation.h index c65b0d3f6e..51c2849702 100644 --- a/esphome/components/output/automation.h +++ b/esphome/components/output/automation.h @@ -12,9 +12,9 @@ template class TurnOffAction : public Action { public: TurnOffAction(BinaryOutput *output) : output_(output) {} - protected: - void play_(Ts... x) override { this->output_->turn_off(); } + void play(Ts... x) override { this->output_->turn_off(); } + protected: BinaryOutput *output_; }; @@ -22,9 +22,9 @@ template class TurnOnAction : public Action { public: TurnOnAction(BinaryOutput *output) : output_(output) {} - protected: - void play_(Ts... x) override { this->output_->turn_on(); } + void play(Ts... x) override { this->output_->turn_on(); } + protected: BinaryOutput *output_; }; @@ -34,9 +34,9 @@ template class SetLevelAction : public Action { TEMPLATABLE_VALUE(float, level) - protected: - void play_(Ts... x) override { this->output_->set_level(this->level_.value(x...)); } + void play(Ts... x) override { this->output_->set_level(this->level_.value(x...)); } + protected: FloatOutput *output_; }; diff --git a/esphome/components/pid/pid_climate.h b/esphome/components/pid/pid_climate.h index 0c92cee798..3dae92af5f 100644 --- a/esphome/components/pid/pid_climate.h +++ b/esphome/components/pid/pid_climate.h @@ -75,8 +75,7 @@ template class PIDAutotuneAction : public Action { void set_positive_output(float positive_output) { positive_output_ = positive_output; } void set_negative_output(float negative_output) { negative_output_ = negative_output; } - protected: - void play_(Ts... x) { + void play(Ts... x) { auto tuner = make_unique(); tuner->set_noiseband(this->noiseband_); tuner->set_output_negative(this->negative_output_); @@ -84,6 +83,7 @@ template class PIDAutotuneAction : public Action { this->parent_->start_autotune(std::move(tuner)); } + protected: float noiseband_; float positive_output_; float negative_output_; diff --git a/esphome/components/remote_base/jvc_protocol.h b/esphome/components/remote_base/jvc_protocol.h index af666bf131..fc40a6a874 100644 --- a/esphome/components/remote_base/jvc_protocol.h +++ b/esphome/components/remote_base/jvc_protocol.h @@ -24,8 +24,7 @@ template class JVCAction : public RemoteTransmitterActionBasedata_.value(x...); JVCProtocol().encode(dst, data); diff --git a/esphome/components/remote_base/lg_protocol.h b/esphome/components/remote_base/lg_protocol.h index a2e9489d09..6267560443 100644 --- a/esphome/components/remote_base/lg_protocol.h +++ b/esphome/components/remote_base/lg_protocol.h @@ -27,8 +27,7 @@ template class LGAction : public RemoteTransmitterActionBasedata_.value(x...); data.nbits = this->nbits_.value(x...); diff --git a/esphome/components/remote_base/nec_protocol.h b/esphome/components/remote_base/nec_protocol.h index 8c1db632b6..593a3efe17 100644 --- a/esphome/components/remote_base/nec_protocol.h +++ b/esphome/components/remote_base/nec_protocol.h @@ -26,8 +26,7 @@ template class NECAction : public RemoteTransmitterActionBaseaddress_.value(x...); data.command = this->command_.value(x...); diff --git a/esphome/components/remote_base/panasonic_protocol.h b/esphome/components/remote_base/panasonic_protocol.h index 1a09b2ffd6..eae97a8a14 100644 --- a/esphome/components/remote_base/panasonic_protocol.h +++ b/esphome/components/remote_base/panasonic_protocol.h @@ -27,8 +27,7 @@ template class PanasonicAction : public RemoteTransmitterActionB TEMPLATABLE_VALUE(uint16_t, address) TEMPLATABLE_VALUE(uint32_t, command) - protected: - void encode_(RemoteTransmitData *dst, Ts... x) override { + void encode(RemoteTransmitData *dst, Ts... x) override { PanasonicData data{}; data.address = this->address_.value(x...); data.command = this->command_.value(x...); diff --git a/esphome/components/remote_base/pioneer_protocol.h b/esphome/components/remote_base/pioneer_protocol.h index 8761762232..4cac4f9f32 100644 --- a/esphome/components/remote_base/pioneer_protocol.h +++ b/esphome/components/remote_base/pioneer_protocol.h @@ -26,8 +26,7 @@ template class PioneerAction : public RemoteTransmitterActionBas TEMPLATABLE_VALUE(uint16_t, rc_code_1) TEMPLATABLE_VALUE(uint16_t, rc_code_2) - protected: - void encode_(RemoteTransmitData *dst, Ts... x) override { + void encode(RemoteTransmitData *dst, Ts... x) override { PioneerData data{}; data.rc_code_1 = this->rc_code_1_.value(x...); data.rc_code_2 = this->rc_code_2_.value(x...); diff --git a/esphome/components/remote_base/raw_protocol.h b/esphome/components/remote_base/raw_protocol.h index 39da5fa8fb..1d9f1c5acc 100644 --- a/esphome/components/remote_base/raw_protocol.h +++ b/esphome/components/remote_base/raw_protocol.h @@ -46,8 +46,7 @@ template class RawAction : public RemoteTransmitterActionBasecode_static_ != nullptr) { for (size_t i = 0; i < this->code_static_len_; i++) { auto val = this->code_static_[i]; @@ -62,6 +61,7 @@ template class RawAction : public RemoteTransmitterActionBaseset_carrier_frequency(this->carrier_frequency_.value(x...)); } + protected: std::function(Ts...)> code_func_{}; const int32_t *code_static_{nullptr}; int32_t code_static_len_{0}; diff --git a/esphome/components/remote_base/rc5_protocol.h b/esphome/components/remote_base/rc5_protocol.h index f90284c23c..589c8d42de 100644 --- a/esphome/components/remote_base/rc5_protocol.h +++ b/esphome/components/remote_base/rc5_protocol.h @@ -27,8 +27,7 @@ template class RC5Action : public RemoteTransmitterActionBaseaddress_.value(x...); data.command = this->command_.value(x...); diff --git a/esphome/components/remote_base/rc_switch_protocol.h b/esphome/components/remote_base/rc_switch_protocol.h index 480f49ea92..8362899cec 100644 --- a/esphome/components/remote_base/rc_switch_protocol.h +++ b/esphome/components/remote_base/rc_switch_protocol.h @@ -71,8 +71,7 @@ template class RCSwitchRawAction : public RemoteTransmitterActio TEMPLATABLE_VALUE(RCSwitchBase, protocol); TEMPLATABLE_VALUE(std::string, code); - protected: - void encode_(RemoteTransmitData *dst, Ts... x) override { + void encode(RemoteTransmitData *dst, Ts... x) override { auto code = this->code_.value(x...); uint64_t the_code = decode_binary_string(code); uint8_t nbits = code.size(); @@ -89,8 +88,7 @@ template class RCSwitchTypeAAction : public RemoteTransmitterAct TEMPLATABLE_VALUE(std::string, device); TEMPLATABLE_VALUE(bool, state); - protected: - void encode_(RemoteTransmitData *dst, Ts... x) override { + void encode(RemoteTransmitData *dst, Ts... x) override { auto group = this->group_.value(x...); auto device = this->device_.value(x...); auto state = this->state_.value(x...); @@ -113,8 +111,7 @@ template class RCSwitchTypeBAction : public RemoteTransmitterAct TEMPLATABLE_VALUE(uint8_t, channel); TEMPLATABLE_VALUE(bool, state); - protected: - void encode_(RemoteTransmitData *dst, Ts... x) override { + void encode(RemoteTransmitData *dst, Ts... x) override { auto address = this->address_.value(x...); auto channel = this->channel_.value(x...); auto state = this->state_.value(x...); @@ -136,8 +133,7 @@ template class RCSwitchTypeCAction : public RemoteTransmitterAct TEMPLATABLE_VALUE(uint8_t, device); TEMPLATABLE_VALUE(bool, state); - protected: - void encode_(RemoteTransmitData *dst, Ts... x) override { + void encode(RemoteTransmitData *dst, Ts... x) override { auto family = this->family_.value(x...); auto group = this->group_.value(x...); auto device = this->device_.value(x...); @@ -160,8 +156,7 @@ template class RCSwitchTypeDAction : public RemoteTransmitterAct TEMPLATABLE_VALUE(uint8_t, device); TEMPLATABLE_VALUE(bool, state); - protected: - void encode_(RemoteTransmitData *dst, Ts... x) override { + void encode(RemoteTransmitData *dst, Ts... x) override { auto group = this->group_.value(x...); auto device = this->device_.value(x...); auto state = this->state_.value(x...); diff --git a/esphome/components/remote_base/remote_base.h b/esphome/components/remote_base/remote_base.h index c9cae96c7a..916fe29c1f 100644 --- a/esphome/components/remote_base/remote_base.h +++ b/esphome/components/remote_base/remote_base.h @@ -326,17 +326,17 @@ template class RemoteTransmitterActionBase : public Actionparent_->transmit(); - this->encode_(call.get_data(), x...); + this->encode(call.get_data(), x...); call.set_send_times(this->send_times_.value_or(x..., 1)); call.set_send_wait(this->send_wait_.value_or(x..., 0)); call.perform(); } + protected: + virtual void encode(RemoteTransmitData *dst, Ts... x) = 0; + RemoteTransmitterBase *parent_{}; }; diff --git a/esphome/components/remote_base/samsung_protocol.h b/esphome/components/remote_base/samsung_protocol.h index 0e1666b3b4..f7a54788e5 100644 --- a/esphome/components/remote_base/samsung_protocol.h +++ b/esphome/components/remote_base/samsung_protocol.h @@ -25,8 +25,7 @@ template class SamsungAction : public RemoteTransmitterActionBas public: TEMPLATABLE_VALUE(uint32_t, data) - protected: - void encode_(RemoteTransmitData *dst, Ts... x) override { + void encode(RemoteTransmitData *dst, Ts... x) override { SamsungData data{}; data.data = this->data_.value(x...); SamsungProtocol().encode(dst, data); diff --git a/esphome/components/remote_base/sony_protocol.h b/esphome/components/remote_base/sony_protocol.h index a122d3758c..aecc8ab91c 100644 --- a/esphome/components/remote_base/sony_protocol.h +++ b/esphome/components/remote_base/sony_protocol.h @@ -27,8 +27,7 @@ template class SonyAction : public RemoteTransmitterActionBasedata_.value(x...); data.nbits = this->nbits_.value(x...); diff --git a/esphome/components/rf_bridge/rf_bridge.h b/esphome/components/rf_bridge/rf_bridge.h index c747be9972..86713b8a5c 100644 --- a/esphome/components/rf_bridge/rf_bridge.h +++ b/esphome/components/rf_bridge/rf_bridge.h @@ -68,8 +68,7 @@ template class RFBridgeSendCodeAction : public Action { TEMPLATABLE_VALUE(uint16_t, high) TEMPLATABLE_VALUE(uint32_t, code) - protected: - void play_(Ts... x) { + void play(Ts... x) { RFBridgeData data{}; data.sync = this->sync_.value(x...); data.low = this->low_.value(x...); @@ -78,6 +77,7 @@ template class RFBridgeSendCodeAction : public Action { this->parent_->send_code(data); } + protected: RFBridgeComponent *parent_; }; @@ -85,9 +85,9 @@ template class RFBridgeLearnAction : public Action { public: RFBridgeLearnAction(RFBridgeComponent *parent) : parent_(parent) {} - protected: - void play_(Ts... x) { this->parent_->learn(); } + void play(Ts... x) { this->parent_->learn(); } + protected: RFBridgeComponent *parent_; }; diff --git a/esphome/components/rotary_encoder/rotary_encoder.h b/esphome/components/rotary_encoder/rotary_encoder.h index 0bbcf21ddb..f0e47dfe0a 100644 --- a/esphome/components/rotary_encoder/rotary_encoder.h +++ b/esphome/components/rotary_encoder/rotary_encoder.h @@ -75,8 +75,9 @@ template class RotaryEncoderSetValueAction : public Actionencoder_->set_value(this->value_.value(x...)); } + protected: - void play_(Ts... x) override { this->encoder_->set_value(this->value_.value(x...)); } RotaryEncoderSensor *encoder_; }; diff --git a/esphome/components/script/script.h b/esphome/components/script/script.h index 92eba15e41..8495014f00 100644 --- a/esphome/components/script/script.h +++ b/esphome/components/script/script.h @@ -23,9 +23,9 @@ template class ScriptExecuteAction : public Action { public: ScriptExecuteAction(Script *script) : script_(script) {} - protected: - void play_(Ts... x) override { this->script_->trigger(); } + void play(Ts... x) override { this->script_->trigger(); } + protected: Script *script_; }; @@ -33,9 +33,9 @@ template class ScriptStopAction : public Action { public: ScriptStopAction(Script *script) : script_(script) {} - protected: - void play_(Ts... x) override { this->script_->stop(); } + void play(Ts... x) override { this->script_->stop(); } + protected: Script *script_; }; @@ -76,10 +76,10 @@ template class ScriptWaitAction : public Action, public C float get_setup_priority() const override { return setup_priority::DATA; } - protected: - void play_(Ts... x) override { /* ignore - see play_complex */ + void play(Ts... x) override { /* ignore - see play_complex */ } + protected: Script *script_; std::tuple var_{}; }; diff --git a/esphome/components/sensor/automation.h b/esphome/components/sensor/automation.h index e6ddc3b95c..c70fb93963 100644 --- a/esphome/components/sensor/automation.h +++ b/esphome/components/sensor/automation.h @@ -26,8 +26,9 @@ template class SensorPublishAction : public Action { SensorPublishAction(Sensor *sensor) : sensor_(sensor) {} TEMPLATABLE_VALUE(float, state) + void play(Ts... x) override { this->sensor_->publish_state(this->state_.value(x...)); } + protected: - void play_(Ts... x) override { this->sensor_->publish_state(this->state_.value(x...)); } Sensor *sensor_; }; diff --git a/esphome/components/servo/servo.h b/esphome/components/servo/servo.h index b4076e8cd5..b864efc877 100644 --- a/esphome/components/servo/servo.h +++ b/esphome/components/servo/servo.h @@ -65,8 +65,9 @@ template class ServoWriteAction : public Action { ServoWriteAction(Servo *servo) : servo_(servo) {} TEMPLATABLE_VALUE(float, value) + void play(Ts... x) override { this->servo_->write(this->value_.value(x...)); } + protected: - void play_(Ts... x) override { this->servo_->write(this->value_.value(x...)); } Servo *servo_; }; @@ -74,8 +75,9 @@ template class ServoDetachAction : public Action { public: ServoDetachAction(Servo *servo) : servo_(servo) {} + void play(Ts... x) override { this->servo_->detach(); } + protected: - void play_(Ts... x) override { this->servo_->detach(); } Servo *servo_; }; diff --git a/esphome/components/sim800l/sim800l.h b/esphome/components/sim800l/sim800l.h index afdb504681..696eb8890f 100644 --- a/esphome/components/sim800l/sim800l.h +++ b/esphome/components/sim800l/sim800l.h @@ -78,13 +78,13 @@ template class Sim800LSendSmsAction : public Action { TEMPLATABLE_VALUE(std::string, recipient) TEMPLATABLE_VALUE(std::string, message) - protected: - void play_(Ts... x) { + void play(Ts... x) { auto recipient = this->recipient_.value(x...); auto message = this->message_.value(x...); this->parent_->send_sms(recipient, message); } + protected: Sim800LComponent *parent_; }; diff --git a/esphome/components/stepper/stepper.h b/esphome/components/stepper/stepper.h index 31bdf59bf9..33777dce83 100644 --- a/esphome/components/stepper/stepper.h +++ b/esphome/components/stepper/stepper.h @@ -43,9 +43,9 @@ template class SetTargetAction : public Action { TEMPLATABLE_VALUE(int32_t, target) - protected: - void play_(Ts... x) override { this->parent_->set_target(this->target_.value(x...)); } + void play(Ts... x) override { this->parent_->set_target(this->target_.value(x...)); } + protected: Stepper *parent_; }; @@ -55,9 +55,9 @@ template class ReportPositionAction : public Action { TEMPLATABLE_VALUE(int32_t, position) - protected: - void play_(Ts... x) override { this->parent_->report_position(this->position_.value(x...)); } + void play(Ts... x) override { this->parent_->report_position(this->position_.value(x...)); } + protected: Stepper *parent_; }; @@ -67,13 +67,13 @@ template class SetSpeedAction : public Action { TEMPLATABLE_VALUE(float, speed); - protected: - void play_(Ts... x) override { + void play(Ts... x) override { float speed = this->speed_.value(x...); this->parent_->set_max_speed(speed); this->parent_->on_update_speed(); } + protected: Stepper *parent_; }; diff --git a/esphome/components/switch/automation.h b/esphome/components/switch/automation.h index c4824b106b..579daf4d24 100644 --- a/esphome/components/switch/automation.h +++ b/esphome/components/switch/automation.h @@ -11,9 +11,9 @@ template class TurnOnAction : public Action { public: explicit TurnOnAction(Switch *a_switch) : switch_(a_switch) {} - protected: - void play_(Ts... x) override { this->switch_->turn_on(); } + void play(Ts... x) override { this->switch_->turn_on(); } + protected: Switch *switch_; }; @@ -21,9 +21,9 @@ template class TurnOffAction : public Action { public: explicit TurnOffAction(Switch *a_switch) : switch_(a_switch) {} - protected: - void play_(Ts... x) override { this->switch_->turn_off(); } + void play(Ts... x) override { this->switch_->turn_off(); } + protected: Switch *switch_; }; @@ -31,9 +31,9 @@ template class ToggleAction : public Action { public: explicit ToggleAction(Switch *a_switch) : switch_(a_switch) {} - protected: - void play_(Ts... x) override { this->switch_->toggle(); } + void play(Ts... x) override { this->switch_->toggle(); } + protected: Switch *switch_; }; @@ -74,8 +74,9 @@ template class SwitchPublishAction : public Action { SwitchPublishAction(Switch *a_switch) : switch_(a_switch) {} TEMPLATABLE_VALUE(bool, state) + void play(Ts... x) override { this->switch_->publish_state(this->state_.value(x...)); } + protected: - void play_(Ts... x) override { this->switch_->publish_state(this->state_.value(x...)); } Switch *switch_; }; diff --git a/esphome/components/text_sensor/automation.h b/esphome/components/text_sensor/automation.h index 9fac17c4cb..6810d10b13 100644 --- a/esphome/components/text_sensor/automation.h +++ b/esphome/components/text_sensor/automation.h @@ -31,8 +31,9 @@ template class TextSensorPublishAction : public Action { TextSensorPublishAction(TextSensor *sensor) : sensor_(sensor) {} TEMPLATABLE_VALUE(std::string, state) + void play(Ts... x) override { this->sensor_->publish_state(this->state_.value(x...)); } + protected: - void play_(Ts... x) override { this->sensor_->publish_state(this->state_.value(x...)); } TextSensor *sensor_; }; diff --git a/esphome/components/tm1651/tm1651.h b/esphome/components/tm1651/tm1651.h index 6291cf1ecf..6eab24687c 100644 --- a/esphome/components/tm1651/tm1651.h +++ b/esphome/components/tm1651/tm1651.h @@ -43,8 +43,7 @@ template class SetLevelPercentAction : public Action, pub public: TEMPLATABLE_VALUE(uint8_t, level_percent) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { auto level_percent = this->level_percent_.value(x...); this->parent_->set_level_percent(level_percent); } @@ -54,8 +53,7 @@ template class SetLevelAction : public Action, public Par public: TEMPLATABLE_VALUE(uint8_t, level) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { auto level = this->level_.value(x...); this->parent_->set_level(level); } @@ -65,21 +63,20 @@ template class SetBrightnessAction : public Action, publi public: TEMPLATABLE_VALUE(uint8_t, brightness) - protected: - void play_(Ts... x) override { + void play(Ts... x) override { auto brightness = this->brightness_.value(x...); this->parent_->set_brightness(brightness); } }; template class TurnOnAction : public Action, public Parented { - protected: - void play_(Ts... x) override { this->parent_->turn_on(); } + public: + void play(Ts... x) override { this->parent_->turn_on(); } }; template class TurnOffAction : public Action, public Parented { - protected: - void play_(Ts... x) override { this->parent_->turn_off(); } + public: + void play(Ts... x) override { this->parent_->turn_off(); } }; } // namespace tm1651 diff --git a/esphome/components/uart/automation.h b/esphome/components/uart/automation.h index 6889bc12e4..2212e58449 100644 --- a/esphome/components/uart/automation.h +++ b/esphome/components/uart/automation.h @@ -17,8 +17,7 @@ template class UARTWriteAction : public Action, public Pa this->static_ = true; } - protected: - void play_(Ts... x) override { + void play(Ts... x) override { if (this->static_) { this->parent_->write_array(this->data_static_); } else { @@ -26,6 +25,7 @@ template class UARTWriteAction : public Action, public Pa this->parent_->write_array(val); } } + protected: bool static_{false}; std::function(Ts...)> data_func_{}; std::vector data_static_{}; diff --git a/esphome/core/automation.h b/esphome/core/automation.h index cb95364675..02bd8bb299 100644 --- a/esphome/core/automation.h +++ b/esphome/core/automation.h @@ -77,12 +77,12 @@ template class Action { public: virtual void play_complex(Ts... x) { this->num_running_++; - this->play_(x...); + this->play(x...); this->play_next_(x...); } virtual void stop_complex() { if (num_running_) { - this->stop_(); + this->stop(); this->num_running_ = 0; } this->stop_next_(); @@ -92,7 +92,7 @@ template class Action { protected: friend ActionList; - virtual void play_(Ts... x) = 0; + virtual void play(Ts... x) = 0; void play_next_(Ts... x) { if (this->num_running_ > 0) { this->num_running_--; @@ -108,7 +108,7 @@ template class Action { this->play_next_tuple_(tuple, typename gens::type()); } - virtual void stop_() {} + virtual void stop() {} void stop_next_() { if (this->next_ != nullptr) { this->next_->stop_complex(); diff --git a/esphome/core/base_automation.h b/esphome/core/base_automation.h index 4edd459424..d2656290bc 100644 --- a/esphome/core/base_automation.h +++ b/esphome/core/base_automation.h @@ -115,22 +115,19 @@ template class DelayAction : public Action, public Compon } float get_setup_priority() const override { return setup_priority::HARDWARE; } - protected: - void play_(Ts... x) override { /* ignore - see play_complex */ + void play(Ts... x) override { /* ignore - see play_complex */ } - void stop_() override { - this->cancel_timeout(""); - } + void stop() override { this->cancel_timeout(""); } }; template class LambdaAction : public Action { public: explicit LambdaAction(std::function &&f) : f_(std::move(f)) {} - protected: - void play_(Ts... x) override { this->f_(x...); } + void play(Ts... x) override { this->f_(x...); } + protected: std::function f_; }; @@ -166,15 +163,15 @@ template class IfAction : public Action { } } - protected: - void play_(Ts... x) override { /* ignore - see play_complex */ + void play(Ts... x) override { /* ignore - see play_complex */ } - void stop_() override { + void stop() override { this->then_.stop(); this->else_.stop(); } + protected: Condition *condition_; ActionList then_; ActionList else_; @@ -216,12 +213,12 @@ template class WhileAction : public Action { } } - protected: - void play_(Ts... x) override { /* ignore - see play_complex */ + void play(Ts... x) override { /* ignore - see play_complex */ } - void stop_() override { this->then_.stop(); } + void stop() override { this->then_.stop(); } + protected: Condition *condition_; ActionList then_; std::tuple var_{}; @@ -257,10 +254,10 @@ template class WaitUntilAction : public Action, public Co float get_setup_priority() const override { return setup_priority::DATA; } - protected: - void play_(Ts... x) override { /* ignore - see play_complex */ + void play(Ts... x) override { /* ignore - see play_complex */ } + protected: Condition *condition_; std::tuple var_{}; }; @@ -269,9 +266,9 @@ template class UpdateComponentAction : public Action { public: UpdateComponentAction(PollingComponent *component) : component_(component) {} - protected: - void play_(Ts... x) override { this->component_->update(); } + void play(Ts... x) override { this->component_->update(); } + protected: PollingComponent *component_; };