add-mcp23008-support

This commit is contained in:
Tom Fahey 2019-06-19 16:49:51 +01:00
parent 108209c31d
commit b4bc7785b1
122 changed files with 245 additions and 346 deletions

0
docker/rootfs/etc/cont-init.d/10-requirements.sh Executable file → Normal file
View file

0
docker/rootfs/etc/cont-init.d/20-nginx.sh Executable file → Normal file
View file

0
docker/rootfs/etc/nginx/nginx.conf Executable file → Normal file
View file

0
docker/rootfs/etc/services.d/esphome/finish Executable file → Normal file
View file

0
docker/rootfs/etc/services.d/esphome/run Executable file → Normal file
View file

0
docker/rootfs/etc/services.d/nginx/finish Executable file → Normal file
View file

0
docker/rootfs/etc/services.d/nginx/run Executable file → Normal file
View file

View file

@ -69,7 +69,7 @@ void AM2320Component::dump_config() {
} }
float AM2320Component::get_setup_priority() const { return setup_priority::DATA; } float AM2320Component::get_setup_priority() const { return setup_priority::DATA; }
bool AM2320Component::read_bytes_(uint8_t a_register, uint8_t *data, uint8_t len, uint32_t conversion) { bool AM2320Component::read_bytes(uint8_t a_register, uint8_t *data, uint8_t len, uint32_t conversion) {
if (!this->write_bytes(a_register, data, 2)) { if (!this->write_bytes(a_register, data, 2)) {
ESP_LOGW(TAG, "Writing bytes for AM2320 failed!"); ESP_LOGW(TAG, "Writing bytes for AM2320 failed!");
return false; return false;
@ -80,7 +80,7 @@ bool AM2320Component::read_bytes_(uint8_t a_register, uint8_t *data, uint8_t len
return this->parent_->raw_receive(this->address_, data, len); return this->parent_->raw_receive(this->address_, data, len);
} }
bool AM2320Component::read_data_(uint8_t *data) { bool AM2320Component::read_data(uint8_t *data) {
// Wake up // Wake up
this->write_bytes(0, data, 0); this->write_bytes(0, data, 0);
@ -95,12 +95,7 @@ bool AM2320Component::read_data_(uint8_t *data) {
checksum = data[7] << 8; checksum = data[7] << 8;
checksum += data[6]; checksum += data[6];
if (crc_16(data, 6) != checksum) { return !;
ESP_LOGW(TAG, "AM2320 Checksum invalid!");
return false;
}
return true;
} }
} // namespace am2320 } // namespace am2320

View file

@ -158,7 +158,7 @@ void APDS9960::update() {
void APDS9960::loop() { this->read_gesture_data_(); } void APDS9960::loop() { this->read_gesture_data_(); }
void APDS9960::read_color_data_(uint8_t status) { void APDS9960::read_color_data(uint8_t status) {
if (!this->is_color_enabled_()) if (!this->is_color_enabled_())
return; return;
@ -190,7 +190,7 @@ void APDS9960::read_color_data_(uint8_t status) {
if (this->blue_channel_ != nullptr) if (this->blue_channel_ != nullptr)
this->blue_channel_->publish_state(blue_perc); this->blue_channel_->publish_state(blue_perc);
} }
void APDS9960::read_proximity_data_(uint8_t status) { void APDS9960::read_proximity_data(uint8_t status) {
if (this->proximity_ == nullptr) if (this->proximity_ == nullptr)
return; return;

View file

@ -80,7 +80,7 @@ template<typename... Ts> class UserService : public UserServiceDescriptor, publi
template<typename... Ts> template<typename... Ts>
template<int... S> template<int... S>
void UserService<Ts...>::execute_(std::vector<ExecuteServiceArgument> args, seq<S...>) { void UserService<Ts...>::execute(std::vector<ExecuteServiceArgument> args, seq<S...>) {
this->trigger((args[S].get_value<Ts>())...); this->trigger((args[S].get_value<Ts>())...);
} }
template<typename... Ts> void UserService<Ts...>::encode_list_service_response(APIBuffer &buffer) { template<typename... Ts> void UserService<Ts...>::encode_list_service_response(APIBuffer &buffer) {

View file

@ -90,7 +90,7 @@ void BangBangClimate::compute_state_() {
this->switch_to_mode_(target_mode); this->switch_to_mode_(target_mode);
} }
void BangBangClimate::switch_to_mode_(climate::ClimateMode mode) { void BangBangClimate::switch_to_mode(climate::ClimateMode mode) {
if (mode == this->internal_mode_) if (mode == this->internal_mode_)
// already in target mode // already in target mode
return; return;

View file

@ -33,11 +33,11 @@ class BangBangClimate : public climate::Climate, public Component {
protected: protected:
/// Override control to change settings of the climate device. /// Override control to change settings of the climate device.
void control(const climate::ClimateCall &call) override; void control_(const climate::ClimateCall &call) override;
/// Change the away setting, will reset target temperatures to defaults. /// Change the away setting, will reset target temperatures to defaults.
void change_away_(bool away); void change_away_(bool away);
/// Return the traits of this controller. /// Return the traits of this controller.
climate::ClimateTraits traits() override; climate::ClimateTraits traits_() override;
/// Re-compute the state of this climate controller. /// Re-compute the state of this climate controller.
void compute_state_(); void compute_state_();

View file

@ -79,14 +79,14 @@ void binary_sensor::MultiClickTrigger::schedule_cooldown_() {
this->cancel_timeout("is_valid"); this->cancel_timeout("is_valid");
this->cancel_timeout("is_not_valid"); this->cancel_timeout("is_not_valid");
} }
void binary_sensor::MultiClickTrigger::schedule_is_valid_(uint32_t min_length) { void binary_sensor::MultiClickTrigger::schedule_is_valid(uint32_t min_length) {
this->is_valid_ = false; this->is_valid_ = false;
this->set_timeout("is_valid", min_length, [this]() { this->set_timeout("is_valid", min_length, [this]() {
ESP_LOGV(TAG, "Multi Click: You can now %s the button.", this->parent_->state ? "RELEASE" : "PRESS"); ESP_LOGV(TAG, "Multi Click: You can now %s the button.", this->parent_->state ? "RELEASE" : "PRESS");
this->is_valid_ = true; this->is_valid_ = true;
}); });
} }
void binary_sensor::MultiClickTrigger::schedule_is_not_valid_(uint32_t max_length) { void binary_sensor::MultiClickTrigger::schedule_is_not_valid(uint32_t max_length) {
this->set_timeout("is_not_valid", max_length, [this]() { this->set_timeout("is_not_valid", max_length, [this]() {
ESP_LOGV(TAG, "Multi Click: You waited too long to %s.", this->parent_->state ? "RELEASE" : "PRESS"); ESP_LOGV(TAG, "Multi Click: You waited too long to %s.", this->parent_->state ? "RELEASE" : "PRESS");
this->is_valid_ = false; this->is_valid_ = false;

View file

@ -136,7 +136,7 @@ template<typename... Ts> class BinarySensorCondition : public Condition<Ts...> {
template<typename... Ts> class BinarySensorPublishAction : public Action<Ts...> { template<typename... Ts> class BinarySensorPublishAction : public Action<Ts...> {
public: public:
explicit BinarySensorPublishAction(BinarySensor *sensor) : sensor_(sensor) {} explicit BinarySensorPublishAction(BinarySensor *sensor) : sensor_(sensor) {}
TEMPLATABLE_VALUE(bool, state) templatable_value(bool, state)
void play(Ts... x) override { void play(Ts... x) override {
auto val = this->state_.value(x...); auto val = this->state_.value(x...);
this->sensor_->publish_state(val); this->sensor_->publish_state(val);

View file

@ -77,7 +77,7 @@ class BinarySensor : public Nameable {
virtual std::string device_class(); virtual std::string device_class();
protected: protected:
uint32_t hash_base() override; uint32_t hash_base_() override;
CallbackManager<void(bool)> state_callback_{}; CallbackManager<void(bool)> state_callback_{};
optional<std::string> device_class_{}; ///< Stores the override of the device class optional<std::string> device_class_{}; ///< Stores the override of the device class

View file

@ -204,7 +204,7 @@ void BME280Component::update() {
this->status_clear_warning(); this->status_clear_warning();
}); });
} }
float BME280Component::read_temperature_(int32_t *t_fine) { float BME280Component::read_temperature(int32_t *t_fine) {
uint8_t data[3]; uint8_t data[3];
if (!this->read_bytes(BME280_REGISTER_TEMPDATA, data, 3)) if (!this->read_bytes(BME280_REGISTER_TEMPDATA, data, 3))
return NAN; return NAN;
@ -226,7 +226,7 @@ float BME280Component::read_temperature_(int32_t *t_fine) {
return temperature / 100.0f; return temperature / 100.0f;
} }
float BME280Component::read_pressure_(int32_t t_fine) { float BME280Component::read_pressure(int32_t t_fine) {
uint8_t data[3]; uint8_t data[3];
if (!this->read_bytes(BME280_REGISTER_PRESSUREDATA, data, 3)) if (!this->read_bytes(BME280_REGISTER_PRESSUREDATA, data, 3))
return NAN; return NAN;
@ -265,7 +265,7 @@ float BME280Component::read_pressure_(int32_t t_fine) {
return (p / 256.0f) / 100.0f; return (p / 256.0f) / 100.0f;
} }
float BME280Component::read_humidity_(int32_t t_fine) { float BME280Component::read_humidity(int32_t t_fine) {
uint16_t raw_adc; uint16_t raw_adc;
if (!this->read_byte_16(BME280_REGISTER_HUMIDDATA, &raw_adc) || raw_adc == 0x8000) if (!this->read_byte_16(BME280_REGISTER_HUMIDDATA, &raw_adc) || raw_adc == 0x8000)
return NAN; return NAN;
@ -302,17 +302,17 @@ void BME280Component::set_humidity_oversampling(BME280Oversampling humidity_over
this->humidity_oversampling_ = humidity_over_sampling; this->humidity_oversampling_ = humidity_over_sampling;
} }
void BME280Component::set_iir_filter(BME280IIRFilter iir_filter) { this->iir_filter_ = iir_filter; } void BME280Component::set_iir_filter(BME280IIRFilter iir_filter) { this->iir_filter_ = iir_filter; }
uint8_t BME280Component::read_u8_(uint8_t a_register) { uint8_t BME280Component::read_u8(uint8_t a_register) {
uint8_t data = 0; uint8_t data = 0;
this->read_byte(a_register, &data); this->read_byte(a_register, &data);
return data; return data;
} }
uint16_t BME280Component::read_u16_le_(uint8_t a_register) { uint16_t BME280Component::read_u16_le(uint8_t a_register) {
uint16_t data = 0; uint16_t data = 0;
this->read_byte_16(a_register, &data); this->read_byte_16(a_register, &data);
return (data >> 8) | (data << 8); return (data >> 8) | (data << 8);
} }
int16_t BME280Component::read_s16_le_(uint8_t a_register) { return this->read_u16_le_(a_register); } int16_t BME280Component::read_s16_le(uint8_t a_register) { return this->read_u16_le_(a_register); }
} // namespace bme280 } // namespace bme280
} // namespace esphome } // namespace esphome

View file

@ -242,7 +242,7 @@ void BME680Component::update() {
this->set_timeout("data", this->calc_meas_duration_(), [this]() { this->read_data_(); }); this->set_timeout("data", this->calc_meas_duration_(), [this]() { this->read_data_(); });
} }
uint8_t BME680Component::calc_heater_resistance_(uint16_t temperature) { uint8_t BME680Component::calc_heater_resistance(uint16_t temperature) {
if (temperature < 200) if (temperature < 200)
temperature = 200; temperature = 200;
if (temperature > 400) if (temperature > 400)
@ -273,7 +273,7 @@ uint8_t BME680Component::calc_heater_resistance_(uint16_t temperature) {
return heatr_res; return heatr_res;
} }
uint8_t BME680Component::calc_heater_duration_(uint16_t duration) { uint8_t BME680Component::calc_heater_duration(uint16_t duration) {
uint8_t factor = 0; uint8_t factor = 0;
uint8_t duration_value; uint8_t duration_value;
@ -323,7 +323,7 @@ void BME680Component::read_data_() {
this->status_clear_warning(); this->status_clear_warning();
} }
float BME680Component::calc_temperature_(uint32_t raw_temperature) { float BME680Component::calc_temperature(uint32_t raw_temperature) {
float var1 = 0; float var1 = 0;
float var2 = 0; float var2 = 0;
float var3 = 0; float var3 = 0;
@ -349,7 +349,7 @@ float BME680Component::calc_temperature_(uint32_t raw_temperature) {
return calc_temp; return calc_temp;
} }
float BME680Component::calc_pressure_(uint32_t raw_pressure) { float BME680Component::calc_pressure(uint32_t raw_pressure) {
const float tfine = this->calibration_.tfine; const float tfine = this->calibration_.tfine;
const float p1 = this->calibration_.p1; const float p1 = this->calibration_.p1;
const float p2 = this->calibration_.p2; const float p2 = this->calibration_.p2;
@ -391,7 +391,7 @@ float BME680Component::calc_pressure_(uint32_t raw_pressure) {
return calc_pres / 100.0f; return calc_pres / 100.0f;
} }
float BME680Component::calc_humidity_(uint16_t raw_humidity) { float BME680Component::calc_humidity(uint16_t raw_humidity) {
const float tfine = this->calibration_.tfine; const float tfine = this->calibration_.tfine;
const float h1 = this->calibration_.h1; const float h1 = this->calibration_.h1;
const float h2 = this->calibration_.h2; const float h2 = this->calibration_.h2;
@ -426,7 +426,7 @@ float BME680Component::calc_humidity_(uint16_t raw_humidity) {
return calc_hum; return calc_hum;
} }
uint32_t BME680Component::calc_gas_resistance_(uint16_t raw_gas, uint8_t range) { uint32_t BME680Component::calc_gas_resistance(uint16_t raw_gas, uint8_t range) {
float calc_gas_res; float calc_gas_res;
float var1 = 0; float var1 = 0;
float var2 = 0; float var2 = 0;
@ -441,7 +441,7 @@ uint32_t BME680Component::calc_gas_resistance_(uint16_t raw_gas, uint8_t range)
return static_cast<uint32_t>(calc_gas_res); return static_cast<uint32_t>(calc_gas_res);
} }
uint32_t BME680Component::calc_meas_duration_() { uint32_t BME680Component::calc_meas_duration() {
uint32_t tph_dur; // Calculate in us uint32_t tph_dur; // Calculate in us
uint32_t meas_cycles; uint32_t meas_cycles;
const uint8_t os_to_meas_cycles[6] = {0, 1, 2, 4, 8, 16}; const uint8_t os_to_meas_cycles[6] = {0, 1, 2, 4, 8, 16};

View file

@ -128,7 +128,7 @@ void BMP085Component::read_pressure_() {
this->pressure_->publish_state(pressure); this->pressure_->publish_state(pressure);
this->status_clear_warning(); this->status_clear_warning();
} }
bool BMP085Component::set_mode_(uint8_t mode) { bool BMP085Component::set_mode(uint8_t mode) {
ESP_LOGV(TAG, "Setting mode to 0x%02X...", mode); ESP_LOGV(TAG, "Setting mode to 0x%02X...", mode);
return this->write_byte(BMP085_REGISTER_CONTROL, mode); return this->write_byte(BMP085_REGISTER_CONTROL, mode);
} }

View file

@ -155,7 +155,7 @@ void BMP280Component::update() {
}); });
} }
float BMP280Component::read_temperature_(int32_t *t_fine) { float BMP280Component::read_temperature(int32_t *t_fine) {
uint8_t data[3]; uint8_t data[3];
if (!this->read_bytes(BMP280_REGISTER_TEMPDATA, data, 3)) if (!this->read_bytes(BMP280_REGISTER_TEMPDATA, data, 3))
return NAN; return NAN;
@ -177,7 +177,7 @@ float BMP280Component::read_temperature_(int32_t *t_fine) {
return temperature / 100.0f; return temperature / 100.0f;
} }
float BMP280Component::read_pressure_(int32_t t_fine) { float BMP280Component::read_pressure(int32_t t_fine) {
uint8_t data[3]; uint8_t data[3];
if (!this->read_bytes(BMP280_REGISTER_PRESSUREDATA, data, 3)) if (!this->read_bytes(BMP280_REGISTER_PRESSUREDATA, data, 3))
return NAN; return NAN;
@ -222,17 +222,17 @@ void BMP280Component::set_pressure_oversampling(BMP280Oversampling pressure_over
this->pressure_oversampling_ = pressure_over_sampling; this->pressure_oversampling_ = pressure_over_sampling;
} }
void BMP280Component::set_iir_filter(BMP280IIRFilter iir_filter) { this->iir_filter_ = iir_filter; } void BMP280Component::set_iir_filter(BMP280IIRFilter iir_filter) { this->iir_filter_ = iir_filter; }
uint8_t BMP280Component::read_u8_(uint8_t a_register) { uint8_t BMP280Component::read_u8(uint8_t a_register) {
uint8_t data = 0; uint8_t data = 0;
this->read_byte(a_register, &data); this->read_byte(a_register, &data);
return data; return data;
} }
uint16_t BMP280Component::read_u16_le_(uint8_t a_register) { uint16_t BMP280Component::read_u16_le(uint8_t a_register) {
uint16_t data = 0; uint16_t data = 0;
this->read_byte_16(a_register, &data); this->read_byte_16(a_register, &data);
return (data >> 8) | (data << 8); return (data >> 8) | (data << 8);
} }
int16_t BMP280Component::read_s16_le_(uint8_t a_register) { return this->read_u16_le_(a_register); } int16_t BMP280Component::read_s16_le(uint8_t a_register) { return this->read_u16_le_(a_register); }
} // namespace bmp280 } // namespace bmp280
} // namespace esphome } // namespace esphome

View file

@ -182,7 +182,7 @@ class Climate : public Nameable {
* modes, temperature range etc. Each integration must implement this method and the return value must * modes, temperature range etc. Each integration must implement this method and the return value must
* be constant during all of execution time. * be constant during all of execution time.
*/ */
virtual ClimateTraits traits() = 0; virtual ClimateTraits traits_() = 0;
/** Control the climate device, this is a virtual method that each climate integration must implement. /** Control the climate device, this is a virtual method that each climate integration must implement.
* *
@ -200,7 +200,7 @@ class Climate : public Nameable {
*/ */
void save_state_(); void save_state_();
uint32_t hash_base() override; uint32_t hash_base_() override;
CallbackManager<void()> state_callback_{}; CallbackManager<void()> state_callback_{};
ESPPreferenceObject rtc_; ESPPreferenceObject rtc_;

View file

@ -22,9 +22,9 @@ class CoolixClimate : public climate::Climate, public Component {
protected: protected:
/// Override control to change settings of the climate device. /// Override control to change settings of the climate device.
void control(const climate::ClimateCall &call) override; void control_(const climate::ClimateCall &call) override;
/// Return the traits of this controller. /// Return the traits of this controller.
climate::ClimateTraits traits() override; climate::ClimateTraits traits_() override;
/// Transmit via IR the state of this climate controller. /// Transmit via IR the state of this climate controller.
void transmit_state_(); void transmit_state_();

View file

@ -117,7 +117,7 @@ class Cover : public Nameable {
* COVER_CLOSED constants). * COVER_CLOSED constants).
*/ */
float position; float position;
ESPDEPRECATED("<cover>.state is deprecated, please use .position instead") float state; espdeprecated("<cover>.state is deprecated, please use .position instead") float state;
}; };
/// The current tilt value of the cover from 0.0 to 1.0. /// The current tilt value of the cover from 0.0 to 1.0.
float tilt{COVER_OPEN}; float tilt{COVER_OPEN};
@ -164,10 +164,10 @@ class Cover : public Nameable {
friend CoverCall; friend CoverCall;
virtual void control(const CoverCall &call) = 0; virtual void control(const CoverCall &call) = 0;
virtual std::string device_class(); virtual std::string device_class_();
optional<CoverRestoreState> restore_state_(); optional<CoverRestoreState> restore_state_();
uint32_t hash_base() override; uint32_t hash_base_() override;
CallbackManager<void()> state_callback_{}; CallbackManager<void()> state_callback_{};
optional<std::string> device_class_override_{}; optional<std::string> device_class_override_{};

View file

@ -42,11 +42,7 @@ bool CSE7766Component::check_byte_() {
} }
if (index == 1) { if (index == 1) {
if (byte != 0x5A) { return !;
ESP_LOGV(TAG, "Invalid Header 2 Start: 0x%02X!", byte);
return false;
}
return true;
} }
if (index == 23) { if (index == 23) {
@ -54,11 +50,7 @@ bool CSE7766Component::check_byte_() {
for (uint8_t i = 2; i < 23; i++) for (uint8_t i = 2; i < 23; i++)
checksum += this->raw_data_[i]; checksum += this->raw_data_[i];
if (checksum != this->raw_data_[23]) { return !;
ESP_LOGW(TAG, "Invalid checksum from CSE7766: 0x%02X != 0x%02X", checksum, this->raw_data_[23]);
return false;
}
return true;
} }
return true; return true;
@ -161,7 +153,7 @@ void CSE7766Component::update() {
this->current_counts_ = 0; this->current_counts_ = 0;
} }
uint32_t CSE7766Component::get_24_bit_uint_(uint8_t start_index) { uint32_t CSE7766Component::get_24_bit_uint(uint8_t start_index) {
return (uint32_t(this->raw_data_[start_index]) << 16) | (uint32_t(this->raw_data_[start_index + 1]) << 8) | return (uint32_t(this->raw_data_[start_index]) << 16) | (uint32_t(this->raw_data_[start_index + 1]) << 8) |
uint32_t(this->raw_data_[start_index + 2]); uint32_t(this->raw_data_[start_index + 2]);
} }

View file

@ -110,13 +110,7 @@ void DallasComponent::update() {
disable_interrupts(); disable_interrupts();
bool result; bool result;
if (!this->one_wire_->reset()) { result = !;
result = false;
} else {
result = true;
this->one_wire_->skip();
this->one_wire_->write8(DALLAS_COMMAND_START_CONVERSION);
}
enable_interrupts(); enable_interrupts();
if (!result) { if (!result) {
@ -168,17 +162,7 @@ const std::string &DallasTemperatureSensor::get_address_name() {
} }
bool DallasTemperatureSensor::read_scratch_pad() { bool DallasTemperatureSensor::read_scratch_pad() {
ESPOneWire *wire = this->parent_->one_wire_; ESPOneWire *wire = this->parent_->one_wire_;
if (!wire->reset()) { return !;
return false;
}
wire->select(this->address_);
wire->write8(DALLAS_COMMAND_READ_SCRATCH_PAD);
for (unsigned char &i : this->scratch_pad_) {
i = wire->read8();
}
return true;
} }
bool DallasTemperatureSensor::setup_sensor() { bool DallasTemperatureSensor::setup_sensor() {
disable_interrupts(); disable_interrupts();
@ -244,11 +228,7 @@ bool DallasTemperatureSensor::check_scratch_pad() {
this->scratch_pad_[5], this->scratch_pad_[6], this->scratch_pad_[7], this->scratch_pad_[8], this->scratch_pad_[5], this->scratch_pad_[6], this->scratch_pad_[7], this->scratch_pad_[8],
crc8(this->scratch_pad_, 8)); crc8(this->scratch_pad_, 8));
#endif #endif
if (crc8(this->scratch_pad_, 8) != this->scratch_pad_[8]) { return !;
ESP_LOGE(TAG, "Reading scratchpad from Dallas Sensor failed");
return false;
}
return true;
} }
float DallasTemperatureSensor::get_temp_c() { float DallasTemperatureSensor::get_temp_c() {
int16_t temp = (int16_t(this->scratch_pad_[1]) << 11) | (int16_t(this->scratch_pad_[0]) << 3); int16_t temp = (int16_t(this->scratch_pad_[1]) << 11) | (int16_t(this->scratch_pad_[0]) << 3);

View file

@ -51,19 +51,14 @@ void DHT12Component::dump_config() {
LOG_SENSOR(" ", "Humidity", this->humidity_sensor_); LOG_SENSOR(" ", "Humidity", this->humidity_sensor_);
} }
float DHT12Component::get_setup_priority() const { return setup_priority::DATA; } float DHT12Component::get_setup_priority() const { return setup_priority::DATA; }
bool DHT12Component::read_data_(uint8_t *data) { bool DHT12Component::read_data(uint8_t *data) {
if (!this->read_bytes(0, data, 5)) { if (!this->read_bytes(0, data, 5)) {
ESP_LOGW(TAG, "Updating DHT12 failed!"); ESP_LOGW(TAG, "Updating DHT12 failed!");
return false; return false;
} }
uint8_t checksum = data[0] + data[1] + data[2] + data[3]; uint8_t checksum = data[0] + data[1] + data[2] + data[3];
if (data[4] != checksum) { return !;
ESP_LOGW(TAG, "DHT12 Checksum invalid!");
return false;
}
return true;
} }
} // namespace dht12 } // namespace dht12

View file

@ -10,7 +10,7 @@ static const char *TAG = "display";
const uint8_t COLOR_OFF = 0; const uint8_t COLOR_OFF = 0;
const uint8_t COLOR_ON = 1; const uint8_t COLOR_ON = 1;
void DisplayBuffer::init_internal_(uint32_t buffer_length) { void DisplayBuffer::init_internal(uint32_t buffer_length) {
this->buffer_ = new uint8_t[buffer_length]; this->buffer_ = new uint8_t[buffer_length];
if (this->buffer_ == nullptr) { if (this->buffer_ == nullptr) {
ESP_LOGE(TAG, "Could not allocate buffer for display!"); ESP_LOGE(TAG, "Could not allocate buffer for display!");

View file

@ -390,7 +390,7 @@ class Image {
template<typename... Ts> class DisplayPageShowAction : public Action<Ts...> { template<typename... Ts> class DisplayPageShowAction : public Action<Ts...> {
public: public:
TEMPLATABLE_VALUE(DisplayPage *, page) templatable_value(DisplayPage *, page)
void play(Ts... x) override { void play(Ts... x) override {
auto *page = this->page_.value(x...); auto *page = this->page_.value(x...);
if (page != nullptr) { if (page != nullptr) {

View file

@ -113,7 +113,7 @@ bool EndstopCover::is_at_target_() const {
return true; return true;
} }
} }
void EndstopCover::start_direction_(CoverOperation dir) { void EndstopCover::start_direction(CoverOperation dir) {
if (dir == this->current_operation) if (dir == this->current_operation)
return; return;

View file

@ -27,7 +27,7 @@ class EndstopCover : public cover::Cover, public Component {
cover::CoverTraits get_traits() override; cover::CoverTraits get_traits() override;
protected: protected:
void control(const cover::CoverCall &call) override; void control_(const cover::CoverCall &call) override;
void stop_prev_trigger_(); void stop_prev_trigger_();
bool is_open_() const { return this->open_endstop_->state; } bool is_open_() const { return this->open_endstop_->state; }
bool is_closed_() const { return this->close_endstop_->state; } bool is_closed_() const { return this->close_endstop_->state; }

View file

@ -25,7 +25,7 @@ class ESP8266PWM : public output::FloatOutput, public Component {
float get_setup_priority() const override { return setup_priority::HARDWARE; } float get_setup_priority() const override { return setup_priority::HARDWARE; }
protected: protected:
void write_state(float state) override; void write_state_(float state) override;
GPIOPin *pin_; GPIOPin *pin_;
float frequency_{1000.0}; float frequency_{1000.0};
@ -36,7 +36,7 @@ class ESP8266PWM : public output::FloatOutput, public Component {
template<typename... Ts> class SetFrequencyAction : public Action<Ts...> { template<typename... Ts> class SetFrequencyAction : public Action<Ts...> {
public: public:
SetFrequencyAction(ESP8266PWM *parent) : parent_(parent) {} SetFrequencyAction(ESP8266PWM *parent) : parent_(parent) {}
TEMPLATABLE_VALUE(float, frequency); templatable_value(float, frequency);
void play(Ts... x) { void play(Ts... x) {
float freq = this->frequency_.value(x...); float freq = this->frequency_.value(x...);

View file

@ -11,7 +11,7 @@ template<typename... Ts> class TurnOnAction : public Action<Ts...> {
public: public:
explicit TurnOnAction(FanState *state) : state_(state) {} explicit TurnOnAction(FanState *state) : state_(state) {}
TEMPLATABLE_VALUE(bool, oscillating) templatable_value(bool, oscillating)
TEMPLATABLE_VALUE(FanSpeed, speed) TEMPLATABLE_VALUE(FanSpeed, speed)
void play(Ts... x) override { void play(Ts... x) override {

View file

@ -88,7 +88,7 @@ class FanState : public Nameable, public Component {
protected: protected:
friend FanStateCall; friend FanStateCall;
uint32_t hash_base() override; uint32_t hash_base_() override;
FanTraits traits_{}; FanTraits traits_{};
CallbackManager<void()> state_callback_{}; CallbackManager<void()> state_callback_{};

View file

@ -223,7 +223,7 @@ class FastLEDLightOutput : public light::AddressableLight {
} }
protected: protected:
light::ESPColorView get_view_internal(int32_t index) const override { light::ESPColorView get_view_internal_(int32_t index) const override {
return {&this->leds_[index].r, &this->leds_[index].g, &this->leds_[index].b, nullptr, return {&this->leds_[index].r, &this->leds_[index].g, &this->leds_[index].b, nullptr,
&this->effect_data_[index], &this->correction_}; &this->effect_data_[index], &this->correction_};
} }

View file

@ -20,7 +20,7 @@ class GPIOBinaryOutput : public output::BinaryOutput, public Component {
float get_setup_priority() const override { return setup_priority::HARDWARE; } float get_setup_priority() const override { return setup_priority::HARDWARE; }
protected: protected:
void write_state(bool state) override { this->pin_->digital_write(state); } void write_state_(bool state) override { this->pin_->digital_write(state); }
GPIOPin *pin_; GPIOPin *pin_;
}; };

View file

@ -66,7 +66,7 @@ void GPIOSwitch::dump_config() {
} }
} }
} }
void GPIOSwitch::write_state(bool state) { void GPIOSwitch::write_state_(bool state) {
if (state != this->inverted_) { if (state != this->inverted_) {
// Turning ON, check interlocking // Turning ON, check interlocking
for (auto *lock : this->interlock_) { for (auto *lock : this->interlock_) {

View file

@ -28,7 +28,7 @@ class GPIOSwitch : public switch_::Switch, public Component {
void set_interlock(const std::vector<Switch *> &interlock); void set_interlock(const std::vector<Switch *> &interlock);
protected: protected:
void write_state(bool state) override; void write_state_(bool state) override;
GPIOPin *pin_; GPIOPin *pin_;
GPIOSwitchRestoreMode restore_mode_{GPIO_SWITCH_RESTORE_DEFAULT_OFF}; GPIOSwitchRestoreMode restore_mode_{GPIO_SWITCH_RESTORE_DEFAULT_OFF};

View file

@ -32,7 +32,7 @@ void HX711Sensor::update() {
this->publish_state(value); this->publish_state(value);
} }
} }
bool HX711Sensor::read_sensor_(uint32_t *result) { bool HX711Sensor::read_sensor(uint32_t *result) {
if (this->dout_pin_->digital_read()) { if (this->dout_pin_->digital_read()) {
ESP_LOGW(TAG, "HX711 is not ready for new measurements yet!"); ESP_LOGW(TAG, "HX711 is not ready for new measurements yet!");
this->status_set_warning(); this->status_set_warning();

View file

@ -82,11 +82,7 @@ bool I2CComponent::raw_end_transmission(uint8_t address) {
bool I2CComponent::raw_request_from(uint8_t address, uint8_t len) { bool I2CComponent::raw_request_from(uint8_t address, uint8_t len) {
ESP_LOGVV(TAG, "Requesting %u bytes from 0x%02X:", len, address); ESP_LOGVV(TAG, "Requesting %u bytes from 0x%02X:", len, address);
uint8_t ret = this->wire_->requestFrom(address, len); uint8_t ret = this->wire_->requestFrom(address, len);
if (ret != len) { return !;
ESP_LOGW(TAG, "Requesting %u bytes from 0x%02X failed!", len, address);
return false;
}
return true;
} }
void HOT I2CComponent::raw_write(uint8_t address, const uint8_t *data, uint8_t len) { void HOT I2CComponent::raw_write(uint8_t address, const uint8_t *data, uint8_t len) {
for (size_t i = 0; i < len; i++) { for (size_t i = 0; i < len; i++) {

View file

@ -56,9 +56,9 @@ class IntegrationSensor : public sensor::Sensor, public Component {
this->publish_state(result); this->publish_state(result);
this->rtc_.save(&result); this->rtc_.save(&result);
} }
std::string unit_of_measurement() override; std::string unit_of_measurement_() override;
std::string icon() override { return this->sensor_->get_icon(); } std::string icon_() override { return this->sensor_->get_icon(); }
int8_t accuracy_decimals() override { return this->sensor_->get_accuracy_decimals() + 2; } int8_t accuracy_decimals_() override { return this->sensor_->get_accuracy_decimals() + 2; }
sensor::Sensor *sensor_; sensor::Sensor *sensor_;
IntegrationSensorTime time_; IntegrationSensorTime time_;

View file

@ -33,11 +33,11 @@ class GPIOLCDDisplay : public lcd_base::LCDDisplay {
void dump_config() override; void dump_config() override;
protected: protected:
bool is_four_bit_mode() override { return this->data_pins_[4] == nullptr; } bool is_four_bit_mode_() override { return this->data_pins_[4] == nullptr; }
void write_n_bits(uint8_t value, uint8_t n) override; void write_n_bits_(uint8_t value, uint8_t n) override;
void send(uint8_t value, bool rs) override; void send_(uint8_t value, bool rs) override;
void call_writer() override { this->writer_(*this); } void call_writer_() override { this->writer_(*this); }
GPIOPin *rs_pin_{nullptr}; GPIOPin *rs_pin_{nullptr};
GPIOPin *rw_pin_{nullptr}; GPIOPin *rw_pin_{nullptr};

View file

@ -16,11 +16,11 @@ class PCF8574LCDDisplay : public lcd_base::LCDDisplay, public i2c::I2CDevice {
void no_backlight(); void no_backlight();
protected: protected:
bool is_four_bit_mode() override { return true; } bool is_four_bit_mode_() override { return true; }
void write_n_bits(uint8_t value, uint8_t n) override; void write_n_bits_(uint8_t value, uint8_t n) override;
void send(uint8_t value, bool rs) override; void send_(uint8_t value, bool rs) override;
void call_writer() override { this->writer_(*this); } void call_writer_() override { this->writer_(*this); }
// Stores the current state of the backlight. // Stores the current state of the backlight.
uint8_t backlight_value_; uint8_t backlight_value_;

View file

@ -7,12 +7,12 @@ namespace light {
static const char *TAG = "light"; static const char *TAG = "light";
void LightState::start_transition_(const LightColorValues &target, uint32_t length) { void LightState::start_transition(const LightColorValues &target, uint32_t length) {
this->transformer_ = make_unique<LightTransitionTransformer>(millis(), length, this->current_values, target); this->transformer_ = make_unique<LightTransitionTransformer>(millis(), length, this->current_values, target);
this->remote_values = this->transformer_->get_remote_values(); this->remote_values = this->transformer_->get_remote_values();
} }
void LightState::start_flash_(const LightColorValues &target, uint32_t length) { void LightState::start_flash(const LightColorValues &target, uint32_t length) {
LightColorValues end_colors = this->current_values; LightColorValues end_colors = this->current_values;
// If starting a flash if one is already happening, set end values to end values of current flash // If starting a flash if one is already happening, set end values to end values of current flash
// Hacky but works // Hacky but works
@ -24,7 +24,7 @@ void LightState::start_flash_(const LightColorValues &target, uint32_t length) {
LightState::LightState(const std::string &name, LightOutput *output) : Nameable(name), output_(output) {} LightState::LightState(const std::string &name, LightOutput *output) : Nameable(name), output_(output) {}
void LightState::set_immediately_(const LightColorValues &target) { void LightState::set_immediately(const LightColorValues &target) {
this->transformer_ = nullptr; this->transformer_ = nullptr;
this->current_values = this->remote_values = target; this->current_values = this->remote_values = target;
this->next_write_ = true; this->next_write_ = true;
@ -46,7 +46,7 @@ std::string LightState::get_effect_name() {
return "None"; return "None";
} }
void LightState::start_effect_(uint32_t effect_index) { void LightState::start_effect(uint32_t effect_index) {
this->stop_effect_(); this->stop_effect_();
if (effect_index == 0) if (effect_index == 0)
return; return;
@ -57,7 +57,7 @@ void LightState::start_effect_(uint32_t effect_index) {
} }
bool LightState::supports_effects() { return !this->effects_.empty(); } bool LightState::supports_effects() { return !this->effects_.empty(); }
void LightState::set_transformer_(std::unique_ptr<LightTransformer> transformer) { void LightState::set_transformer(std::unique_ptr<LightTransformer> transformer) {
this->transformer_ = std::move(transformer); this->transformer_ = std::move(transformer);
} }
void LightState::stop_effect_() { void LightState::stop_effect_() {
@ -351,7 +351,7 @@ void LightCall::perform() {
} }
} }
LightColorValues LightCall::validate_() { LightColorValues LightCall::validate() {
// use remote values for fallback // use remote values for fallback
auto *name = this->parent_->get_name().c_str(); auto *name = this->parent_->get_name().c_str();
auto traits = this->parent_->get_traits(); auto traits = this->parent_->get_traits();

View file

@ -203,11 +203,11 @@ class LightState : public Nameable, public Component {
LightColorValues current_values; LightColorValues current_values;
/// Deprecated method to access current_values. /// Deprecated method to access current_values.
ESPDEPRECATED("get_current_values() is deprecated, please use .current_values instead.") espdeprecated("get_current_values() is deprecated, please use .current_values instead.")
LightColorValues get_current_values(); LightColorValues get_current_values();
/// Deprecated method to access remote_values. /// Deprecated method to access remote_values.
ESPDEPRECATED("get_remote_values() is deprecated, please use .remote_values instead.") espdeprecated("get_remote_values() is deprecated, please use .remote_values instead.")
LightColorValues get_remote_values(); LightColorValues get_remote_values();
/** The remote color values reported to the frontend. /** The remote color values reported to the frontend.
@ -278,7 +278,7 @@ class LightState : public Nameable, public Component {
friend LightOutput; friend LightOutput;
friend LightCall; friend LightCall;
uint32_t hash_base() override; uint32_t hash_base_() override;
/// Internal method to start an effect with the given index /// Internal method to start an effect with the given index
void start_effect_(uint32_t effect_index); void start_effect_(uint32_t effect_index);

View file

@ -145,11 +145,11 @@ void MAX7219Component::display() {
this->disable(); this->disable();
} }
} }
void MAX7219Component::send_byte_(uint8_t a_register, uint8_t data) { void MAX7219Component::send_byte(uint8_t a_register, uint8_t data) {
this->write_byte(a_register); this->write_byte(a_register);
this->write_byte(data); this->write_byte(data);
} }
void MAX7219Component::send_to_all_(uint8_t a_register, uint8_t data) { void MAX7219Component::send_to_all(uint8_t a_register, uint8_t data) {
this->enable(); this->enable();
for (uint8_t i = 0; i < this->num_chips_; i++) for (uint8_t i = 0; i < this->num_chips_; i++)
this->send_byte_(a_register, data); this->send_byte_(a_register, data);

View file

@ -47,19 +47,19 @@ void MCP23008::pin_mode(uint8_t pin, uint8_t mode) {
} }
} }
float MCP23008::get_setup_priority() const { return setup_priority::HARDWARE; } float MCP23008::get_setup_priority() const { return setup_priority::HARDWARE; }
bool MCP23008::read_reg_(uint8_t reg, uint8_t *value) { bool MCP23008::read_reg(uint8_t reg, uint8_t *value) {
if (this->is_failed()) if (this->is_failed())
return false; return false;
return this->read_byte(reg, value); return this->read_byte(reg, value);
} }
bool MCP23008::write_reg_(uint8_t reg, uint8_t value) { bool MCP23008::write_reg(uint8_t reg, uint8_t value) {
if (this->is_failed()) if (this->is_failed())
return false; return false;
return this->write_byte(reg, value); return this->write_byte(reg, value);
} }
void MCP23008::update_reg_(uint8_t pin, bool pin_value, uint8_t reg_addr) { void MCP23008::update_reg(uint8_t pin, bool pin_value, uint8_t reg_addr) {
uint8_t bit = pin % 8; uint8_t bit = pin % 8;
uint8_t reg_value = 0; uint8_t reg_value = 0;
if (reg_addr == MCP23008_OLAT) { if (reg_addr == MCP23008_OLAT) {

View file

@ -48,19 +48,19 @@ void MCP23017::pin_mode(uint8_t pin, uint8_t mode) {
} }
} }
float MCP23017::get_setup_priority() const { return setup_priority::HARDWARE; } float MCP23017::get_setup_priority() const { return setup_priority::HARDWARE; }
bool MCP23017::read_reg_(uint8_t reg, uint8_t *value) { bool MCP23017::read_reg(uint8_t reg, uint8_t *value) {
if (this->is_failed()) if (this->is_failed())
return false; return false;
return this->read_byte(reg, value); return this->read_byte(reg, value);
} }
bool MCP23017::write_reg_(uint8_t reg, uint8_t value) { bool MCP23017::write_reg(uint8_t reg, uint8_t value) {
if (this->is_failed()) if (this->is_failed())
return false; return false;
return this->write_byte(reg, value); return this->write_byte(reg, value);
} }
void MCP23017::update_reg_(uint8_t pin, bool pin_value, uint8_t reg_addr) { void MCP23017::update_reg(uint8_t pin, bool pin_value, uint8_t reg_addr) {
uint8_t bit = pin % 8; uint8_t bit = pin % 8;
uint8_t reg_value = 0; uint8_t reg_value = 0;
if (reg_addr == MCP23017_OLATA) { if (reg_addr == MCP23017_OLATA) {

View file

@ -50,7 +50,7 @@ void MHZ19Component::update() {
this->temperature_sensor_->publish_state(temp); this->temperature_sensor_->publish_state(temp);
} }
bool MHZ19Component::mhz19_write_command_(const uint8_t *command, uint8_t *response) { bool MHZ19Component::mhz19_write_command(const uint8_t *command, uint8_t *response) {
this->flush(); this->flush();
this->write_array(command, MHZ19_REQUEST_LENGTH); this->write_array(command, MHZ19_REQUEST_LENGTH);
this->write_byte(mhz19_checksum(command)); this->write_byte(mhz19_checksum(command));

View file

@ -286,7 +286,7 @@ void MQTTClientComponent::loop() {
float MQTTClientComponent::get_setup_priority() const { return setup_priority::AFTER_WIFI; } float MQTTClientComponent::get_setup_priority() const { return setup_priority::AFTER_WIFI; }
// Subscribe // Subscribe
bool MQTTClientComponent::subscribe_(const char *topic, uint8_t qos) { bool MQTTClientComponent::subscribe(const char *topic, uint8_t qos) {
if (!this->is_connected()) if (!this->is_connected())
return false; return false;

View file

@ -294,7 +294,7 @@ class MQTTJsonMessageTrigger : public Trigger<const JsonObject &> {
template<typename... Ts> class MQTTPublishAction : public Action<Ts...> { template<typename... Ts> class MQTTPublishAction : public Action<Ts...> {
public: public:
MQTTPublishAction(MQTTClientComponent *parent) : parent_(parent) {} MQTTPublishAction(MQTTClientComponent *parent) : parent_(parent) {}
TEMPLATABLE_VALUE(std::string, topic) templatable_value(std::string, topic)
TEMPLATABLE_VALUE(std::string, payload) TEMPLATABLE_VALUE(std::string, payload)
TEMPLATABLE_VALUE(uint8_t, qos) TEMPLATABLE_VALUE(uint8_t, qos)
TEMPLATABLE_VALUE(bool, retain) TEMPLATABLE_VALUE(bool, retain)
@ -311,7 +311,7 @@ template<typename... Ts> class MQTTPublishAction : public Action<Ts...> {
template<typename... Ts> class MQTTPublishJsonAction : public Action<Ts...> { template<typename... Ts> class MQTTPublishJsonAction : public Action<Ts...> {
public: public:
MQTTPublishJsonAction(MQTTClientComponent *parent) : parent_(parent) {} MQTTPublishJsonAction(MQTTClientComponent *parent) : parent_(parent) {}
TEMPLATABLE_VALUE(std::string, topic) templatable_value(std::string, topic)
TEMPLATABLE_VALUE(uint8_t, qos) TEMPLATABLE_VALUE(uint8_t, qos)
TEMPLATABLE_VALUE(bool, retain) TEMPLATABLE_VALUE(bool, retain)

View file

@ -11,24 +11,24 @@ static const char *TAG = "mqtt.component";
void MQTTComponent::set_retain(bool retain) { this->retain_ = retain; } void MQTTComponent::set_retain(bool retain) { this->retain_ = retain; }
std::string MQTTComponent::get_discovery_topic_(const MQTTDiscoveryInfo &discovery_info) const { std::string MQTTComponent::get_discovery_topic(const MQTTDiscoveryInfo &discovery_info) const {
std::string sanitized_name = sanitize_string_whitelist(App.get_name(), HOSTNAME_CHARACTER_WHITELIST); std::string sanitized_name = sanitize_string_whitelist(App.get_name(), HOSTNAME_CHARACTER_WHITELIST);
return discovery_info.prefix + "/" + this->component_type() + "/" + sanitized_name + "/" + return discovery_info.prefix + "/" + this->component_type() + "/" + sanitized_name + "/" +
this->get_default_object_id_() + "/config"; this->get_default_object_id_() + "/config";
} }
std::string MQTTComponent::get_default_topic_for_(const std::string &suffix) const { std::string MQTTComponent::get_default_topic_for(const std::string &suffix) const {
return global_mqtt_client->get_topic_prefix() + "/" + this->component_type() + "/" + this->get_default_object_id_() + return global_mqtt_client->get_topic_prefix() + "/" + this->component_type() + "/" + this->get_default_object_id_() +
"/" + suffix; "/" + suffix;
} }
const std::string MQTTComponent::get_state_topic_() const { const std::string MQTTComponent::get_state_topic() const {
if (this->custom_state_topic_.empty()) if (this->custom_state_topic_.empty())
return this->get_default_topic_for_("state"); return this->get_default_topic_for_("state");
return this->custom_state_topic_; return this->custom_state_topic_;
} }
const std::string MQTTComponent::get_command_topic_() const { const std::string MQTTComponent::get_command_topic() const {
if (this->custom_command_topic_.empty()) if (this->custom_command_topic_.empty())
return this->get_default_topic_for_("command"); return this->get_default_topic_for_("command");
return this->custom_command_topic_; return this->custom_command_topic_;
@ -116,7 +116,7 @@ bool MQTTComponent::is_discovery_enabled() const {
return this->discovery_enabled_ && global_mqtt_client->is_discovery_enabled(); return this->discovery_enabled_ && global_mqtt_client->is_discovery_enabled();
} }
std::string MQTTComponent::get_default_object_id_() const { std::string MQTTComponent::get_default_object_id() const {
return sanitize_string_whitelist(to_lowercase_underscore(this->friendly_name()), HOSTNAME_CHARACTER_WHITELIST); return sanitize_string_whitelist(to_lowercase_underscore(this->friendly_name()), HOSTNAME_CHARACTER_WHITELIST);
} }

View file

@ -141,14 +141,14 @@ class MQTTComponent : public Component {
std::string get_default_topic_for_(const std::string &suffix) const; std::string get_default_topic_for_(const std::string &suffix) const;
/// Get the friendly name of this MQTT component. /// Get the friendly name of this MQTT component.
virtual std::string friendly_name() const = 0; virtual std::string friendly_name_() const = 0;
/** A unique ID for this MQTT component, empty for no unique id. See unique ID requirements: /** A unique ID for this MQTT component, empty for no unique id. See unique ID requirements:
* https://developers.home-assistant.io/docs/en/entity_registry_index.html#unique-id-requirements * https://developers.home-assistant.io/docs/en/entity_registry_index.html#unique-id-requirements
* *
* @return The unique id as a string. * @return The unique id as a string.
*/ */
virtual std::string unique_id(); virtual std::string unique_id_();
/// Get the MQTT topic that new states will be shared to. /// Get the MQTT topic that new states will be shared to.
const std::string get_state_topic_() const; const std::string get_state_topic_() const;

View file

@ -65,7 +65,7 @@ void MS5611Component::read_temperature_() {
auto f = std::bind(&MS5611Component::read_pressure_, this, raw_temperature); auto f = std::bind(&MS5611Component::read_pressure_, this, raw_temperature);
this->set_timeout("pressure", 10, f); this->set_timeout("pressure", 10, f);
} }
void MS5611Component::read_pressure_(uint32_t raw_temperature) { void MS5611Component::read_pressure(uint32_t raw_temperature) {
uint8_t bytes[3]; uint8_t bytes[3];
if (!this->read_bytes(MS5611_CMD_ADC_READ, bytes, 3)) { if (!this->read_bytes(MS5611_CMD_ADC_READ, bytes, 3)) {
this->status_set_warning(); this->status_set_warning();
@ -74,7 +74,7 @@ void MS5611Component::read_pressure_(uint32_t raw_temperature) {
const uint32_t raw_pressure = (uint32_t(bytes[0]) << 16) | (uint32_t(bytes[1]) << 8) | (uint32_t(bytes[2])); const uint32_t raw_pressure = (uint32_t(bytes[0]) << 16) | (uint32_t(bytes[1]) << 8) | (uint32_t(bytes[2]));
this->calculate_values_(raw_temperature, raw_pressure); this->calculate_values_(raw_temperature, raw_pressure);
} }
void MS5611Component::calculate_values_(uint32_t raw_temperature, uint32_t raw_pressure) { void MS5611Component::calculate_values(uint32_t raw_temperature, uint32_t raw_pressure) {
const int32_t d_t = int32_t(raw_temperature) - (uint32_t(this->prom_[4]) << 8); const int32_t d_t = int32_t(raw_temperature) - (uint32_t(this->prom_[4]) << 8);
float temperature = (2000 + (int64_t(d_t) * this->prom_[5]) / 8388608.0f) / 100.0f; float temperature = (2000 + (int64_t(d_t) * this->prom_[5]) / 8388608.0f) / 100.0f;

View file

@ -73,7 +73,7 @@ void MY9231OutputComponent::loop() {
this->send_di_pulses_(8); this->send_di_pulses_(8);
this->update_ = false; this->update_ = false;
} }
void MY9231OutputComponent::set_channel_value_(uint8_t channel, uint16_t value) { void MY9231OutputComponent::set_channel_value(uint8_t channel, uint16_t value) {
ESP_LOGV(TAG, "set channels %u to %u", channel, value); ESP_LOGV(TAG, "set channels %u to %u", channel, value);
uint8_t index = this->num_channels_ - channel - 1; uint8_t index = this->num_channels_ - channel - 1;
if (this->pwm_amounts_[index] != value) { if (this->pwm_amounts_[index] != value) {
@ -81,7 +81,7 @@ void MY9231OutputComponent::set_channel_value_(uint8_t channel, uint16_t value)
} }
this->pwm_amounts_[index] = value; this->pwm_amounts_[index] = value;
} }
void MY9231OutputComponent::init_chips_(uint8_t command) { void MY9231OutputComponent::init_chips(uint8_t command) {
// Send 12 DI pulse. After 6 falling edges, the duty data are stored // Send 12 DI pulse. After 6 falling edges, the duty data are stored
// and after 12 rising edges the command mode is activated. // and after 12 rising edges the command mode is activated.
this->send_di_pulses_(12); this->send_di_pulses_(12);
@ -93,13 +93,13 @@ void MY9231OutputComponent::init_chips_(uint8_t command) {
// stored and after 16 falling edges the duty mode is activated. // stored and after 16 falling edges the duty mode is activated.
this->send_di_pulses_(16); this->send_di_pulses_(16);
} }
void MY9231OutputComponent::write_word_(uint16_t value, uint8_t bits) { void MY9231OutputComponent::write_word(uint16_t value, uint8_t bits) {
for (uint8_t i = bits; i > 0; i--) { for (uint8_t i = bits; i > 0; i--) {
this->pin_di_->digital_write(value & (1 << (i - 1))); this->pin_di_->digital_write(value & (1 << (i - 1)));
this->pin_dcki_->digital_write(!this->pin_dcki_->digital_read()); this->pin_dcki_->digital_write(!this->pin_dcki_->digital_read());
} }
} }
void MY9231OutputComponent::send_di_pulses_(uint8_t count) { void MY9231OutputComponent::send_di_pulses(uint8_t count) {
delayMicroseconds(12); delayMicroseconds(12);
for (uint8_t i = 0; i < count; i++) { for (uint8_t i = 0; i < count; i++) {
this->pin_di_->digital_write(true); this->pin_di_->digital_write(true);

View file

@ -32,7 +32,7 @@ class MY9231OutputComponent : public Component {
void set_channel(uint8_t channel) { channel_ = channel; } void set_channel(uint8_t channel) { channel_ = channel; }
protected: protected:
void write_state(float state) override { void write_state_(float state) override {
auto amount = uint16_t(state * this->parent_->get_max_amount_()); auto amount = uint16_t(state * this->parent_->get_max_amount_());
this->parent_->set_channel_value_(this->channel_, amount); this->parent_->set_channel_value_(this->channel_, amount);
} }

View file

@ -79,12 +79,7 @@ bool Nextion::send_command_printf(const char *format, ...) {
return false; return false;
} }
this->send_command_no_ack(buffer); this->send_command_no_ack(buffer);
if (!this->ack_()) { return this->ack_();
ESP_LOGW(TAG, "Sending command '%s' failed because no ACK was received", buffer);
return false;
}
return true;
} }
void Nextion::hide_component(const char *component) { this->send_command_printf("vis %s,0", component); } void Nextion::hide_component(const char *component) { this->send_command_printf("vis %s,0", component); }
void Nextion::show_component(const char *component) { this->send_command_printf("vis %s,1", component); } void Nextion::show_component(const char *component) { this->send_command_printf("vis %s,1", component); }

View file

@ -300,7 +300,7 @@ error:
#endif #endif
} }
size_t OTAComponent::wait_receive_(uint8_t *buf, size_t bytes, bool check_disconnected) { size_t OTAComponent::wait_receive(uint8_t *buf, size_t bytes, bool check_disconnected) {
size_t available = 0; size_t available = 0;
uint32_t start = millis(); uint32_t start = millis();
do { do {
@ -387,8 +387,8 @@ void OTAComponent::start_safe_mode(uint8_t num_attempts, uint32_t enable_time) {
this->write_rtc_(this->safe_mode_rtc_value_ + 1); this->write_rtc_(this->safe_mode_rtc_value_ + 1);
} }
} }
void OTAComponent::write_rtc_(uint32_t val) { this->rtc_.save(&val); } void OTAComponent::write_rtc(uint32_t val) { this->rtc_.save(&val); }
uint32_t OTAComponent::read_rtc_() { uint32_t OTAComponent::read_rtc() {
uint32_t val; uint32_t val;
if (!this->rtc_.load(&val)) if (!this->rtc_.load(&val))
return 0; return 0;

View file

@ -32,7 +32,7 @@ template<typename... Ts> class SetLevelAction : public Action<Ts...> {
public: public:
SetLevelAction(FloatOutput *output) : output_(output) {} SetLevelAction(FloatOutput *output) : output_(output) {}
TEMPLATABLE_VALUE(float, level) templatable_value(float, level)
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: protected:

View file

@ -18,7 +18,7 @@ void OutputSwitch::setup() {
this->turn_off(); this->turn_off();
} }
} }
void OutputSwitch::write_state(bool state) { void OutputSwitch::write_state_(bool state) {
if (state) { if (state) {
this->output_->turn_on(); this->output_->turn_on();
} else { } else {

View file

@ -16,7 +16,7 @@ class OutputSwitch : public switch_::Switch, public Component {
void dump_config() override; void dump_config() override;
protected: protected:
void write_state(bool state) override; void write_state_(bool state) override;
output::BinaryOutput *output_; output::BinaryOutput *output_;
}; };

View file

@ -53,7 +53,7 @@ class PartitionLightOutput : public light::AddressableLight {
} }
protected: protected:
light::ESPColorView get_view_internal(int32_t index) const override { light::ESPColorView get_view_internal_(int32_t index) const override {
uint32_t lo = 0; uint32_t lo = 0;
uint32_t hi = this->segments_.size() - 1; uint32_t hi = this->segments_.size() - 1;
while (lo < hi) { while (lo < hi) {

View file

@ -130,7 +130,7 @@ PCA9685Channel *PCA9685Output::create_channel(uint8_t channel) {
return c; return c;
} }
void PCA9685Channel::write_state(float state) { void PCA9685Channel::write_state_(float state) {
const uint16_t max_duty = 4096; const uint16_t max_duty = 4096;
const float duty_rounded = roundf(state * max_duty); const float duty_rounded = roundf(state * max_duty);
auto duty = static_cast<uint16_t>(duty_rounded); auto duty = static_cast<uint16_t>(duty_rounded);

View file

@ -25,7 +25,7 @@ class PCA9685Channel : public output::FloatOutput {
PCA9685Channel(PCA9685Output *parent, uint8_t channel) : parent_(parent), channel_(channel) {} PCA9685Channel(PCA9685Output *parent, uint8_t channel) : parent_(parent), channel_(channel) {}
protected: protected:
void write_state(float state) override; void write_state_(float state) override;
PCA9685Output *parent_; PCA9685Output *parent_;
uint8_t channel_; uint8_t channel_;

View file

@ -93,12 +93,7 @@ bool PCF8574Component::write_gpio_() {
data = (value >> 8) & 0xFF; data = (value >> 8) & 0xFF;
this->parent_->raw_write(this->address_, &data, 1); this->parent_->raw_write(this->address_, &data, 1);
} }
if (!this->parent_->raw_end_transmission(this->address_)) { return !;
this->status_set_warning();
return false;
}
this->status_clear_warning();
return true;
} }
float PCF8574Component::get_setup_priority() const { return setup_priority::IO; } float PCF8574Component::get_setup_priority() const { return setup_priority::IO; }

View file

@ -45,7 +45,7 @@ void PMSX003Component::loop() {
} }
} }
float PMSX003Component::get_setup_priority() const { return setup_priority::DATA; } float PMSX003Component::get_setup_priority() const { return setup_priority::DATA; }
optional<bool> PMSX003Component::check_byte_() { optional<bool> PMSX003Component::check_byte() {
uint8_t index = this->data_index_; uint8_t index = this->data_index_;
uint8_t byte = this->data_[index]; uint8_t byte = this->data_[index];
@ -158,7 +158,7 @@ void PMSX003Component::parse_data_() {
this->status_clear_warning(); this->status_clear_warning();
} }
uint16_t PMSX003Component::get_16_bit_uint_(uint8_t start_index) { uint16_t PMSX003Component::get_16_bit_uint(uint8_t start_index) {
return (uint16_t(this->data_[start_index]) << 8) | uint16_t(this->data_[start_index + 1]); return (uint16_t(this->data_[start_index]) << 8) | uint16_t(this->data_[start_index + 1]);
} }
void PMSX003Component::dump_config() { void PMSX003Component::dump_config() {

View file

@ -154,7 +154,7 @@ void PN532::loop() {
float PN532::get_setup_priority() const { return setup_priority::DATA; } float PN532::get_setup_priority() const { return setup_priority::DATA; }
void PN532::pn532_write_command_(const std::vector<uint8_t> &data) { void PN532::pn532_write_command(const std::vector<uint8_t> &data) {
this->enable(); this->enable();
delay(2); delay(2);
// First byte, communication mode: Write data // First byte, communication mode: Write data
@ -193,7 +193,7 @@ void PN532::pn532_write_command_(const std::vector<uint8_t> &data) {
this->disable(); this->disable();
} }
bool PN532::pn532_write_command_check_ack_(const std::vector<uint8_t> &data) { bool PN532::pn532_write_command_check_ack(const std::vector<uint8_t> &data) {
// 1. write command // 1. write command
this->pn532_write_command_(data); this->pn532_write_command_(data);
@ -210,7 +210,7 @@ bool PN532::pn532_write_command_check_ack_(const std::vector<uint8_t> &data) {
return true; return true;
} }
std::vector<uint8_t> PN532::pn532_read_data_() { std::vector<uint8_t> PN532::pn532_read_data() {
this->enable(); this->enable();
delay(2); delay(2);
// Read data (transmission from the PN532 to the host) // Read data (transmission from the PN532 to the host)

View file

@ -33,13 +33,7 @@ class RDM6300BinarySensor : public binary_sensor::BinarySensor {
void set_id(uint32_t id) { id_ = id; } void set_id(uint32_t id) { id_ = id; }
bool process(uint32_t id) { bool process(uint32_t id) {
if (this->id_ == id) { return ;
this->publish_state(true);
yield();
this->publish_state(false);
return true;
}
return false;
} }
protected: protected:

View file

@ -22,7 +22,7 @@ DECLARE_REMOTE_PROTOCOL(JVC)
template<typename... Ts> class JVCAction : public RemoteTransmitterActionBase<Ts...> { template<typename... Ts> class JVCAction : public RemoteTransmitterActionBase<Ts...> {
public: public:
TEMPLATABLE_VALUE(uint32_t, data) templatable_value(uint32_t, data)
void encode(RemoteTransmitData *dst, Ts... x) override { void encode(RemoteTransmitData *dst, Ts... x) override {
JVCData data{}; JVCData data{};
data.data = this->data_.value(x...); data.data = this->data_.value(x...);

View file

@ -24,7 +24,7 @@ DECLARE_REMOTE_PROTOCOL(LG)
template<typename... Ts> class LGAction : public RemoteTransmitterActionBase<Ts...> { template<typename... Ts> class LGAction : public RemoteTransmitterActionBase<Ts...> {
public: public:
TEMPLATABLE_VALUE(uint32_t, data) templatable_value(uint32_t, data)
TEMPLATABLE_VALUE(uint8_t, nbits) TEMPLATABLE_VALUE(uint8_t, nbits)
void encode(RemoteTransmitData *dst, Ts... x) override { void encode(RemoteTransmitData *dst, Ts... x) override {
LGData data{}; LGData data{};

View file

@ -23,7 +23,7 @@ DECLARE_REMOTE_PROTOCOL(NEC)
template<typename... Ts> class NECAction : public RemoteTransmitterActionBase<Ts...> { template<typename... Ts> class NECAction : public RemoteTransmitterActionBase<Ts...> {
public: public:
TEMPLATABLE_VALUE(uint16_t, address) templatable_value(uint16_t, address)
TEMPLATABLE_VALUE(uint16_t, command) TEMPLATABLE_VALUE(uint16_t, command)
void encode(RemoteTransmitData *dst, Ts... x) override { void encode(RemoteTransmitData *dst, Ts... x) override {
NECData data{}; NECData data{};

View file

@ -24,7 +24,7 @@ DECLARE_REMOTE_PROTOCOL(Panasonic)
template<typename... Ts> class PanasonicAction : public RemoteTransmitterActionBase<Ts...> { template<typename... Ts> class PanasonicAction : public RemoteTransmitterActionBase<Ts...> {
public: public:
TEMPLATABLE_VALUE(uint16_t, address) templatable_value(uint16_t, address)
TEMPLATABLE_VALUE(uint32_t, command) TEMPLATABLE_VALUE(uint32_t, command)
void encode(RemoteTransmitData *dst, Ts... x) override { void encode(RemoteTransmitData *dst, Ts... x) override {
PanasonicData data{}; PanasonicData data{};

View file

@ -44,7 +44,7 @@ template<typename... Ts> class RawAction : public RemoteTransmitterActionBase<Ts
this->code_static_ = code; this->code_static_ = code;
this->code_static_len_ = len; this->code_static_len_ = len;
} }
TEMPLATABLE_VALUE(uint32_t, carrier_frequency); templatable_value(uint32_t, carrier_frequency);
void encode(RemoteTransmitData *dst, Ts... x) override { void encode(RemoteTransmitData *dst, Ts... x) override {
if (this->code_static_ != nullptr) { if (this->code_static_ != nullptr) {
@ -62,7 +62,7 @@ template<typename... Ts> class RawAction : public RemoteTransmitterActionBase<Ts
} }
protected: protected:
std::function<std::vector<int32_t>(Ts...)> code_func_{}; std::function<std::vector<int32_t>(ts_...)> code_func_{};
const int32_t *code_static_{nullptr}; const int32_t *code_static_{nullptr};
int32_t code_static_len_{0}; int32_t code_static_len_{0};
}; };

View file

@ -24,7 +24,7 @@ DECLARE_REMOTE_PROTOCOL(RC5)
template<typename... Ts> class RC5Action : public RemoteTransmitterActionBase<Ts...> { template<typename... Ts> class RC5Action : public RemoteTransmitterActionBase<Ts...> {
public: public:
TEMPLATABLE_VALUE(uint8_t, address) templatable_value(uint8_t, address)
TEMPLATABLE_VALUE(uint8_t, command) TEMPLATABLE_VALUE(uint8_t, command)
void encode(RemoteTransmitData *dst, Ts... x) override { void encode(RemoteTransmitData *dst, Ts... x) override {
RC5Data data{}; RC5Data data{};

View file

@ -57,8 +57,8 @@ uint32_t decode_binary_string(const std::string &data);
template<typename... Ts> class RCSwitchRawAction : public RemoteTransmitterActionBase<Ts...> { template<typename... Ts> class RCSwitchRawAction : public RemoteTransmitterActionBase<Ts...> {
public: public:
TEMPLATABLE_VALUE(RCSwitchBase, protocol); templatable_value(RCSwitchBase, protocol);
TEMPLATABLE_VALUE(std::string, code); templatable_value(std::string, code);
void encode(RemoteTransmitData *dst, Ts... x) override { void encode(RemoteTransmitData *dst, Ts... x) override {
auto code = this->code_.value(x...); auto code = this->code_.value(x...);
@ -72,10 +72,10 @@ template<typename... Ts> class RCSwitchRawAction : public RemoteTransmitterActio
template<typename... Ts> class RCSwitchTypeAAction : public RemoteTransmitterActionBase<Ts...> { template<typename... Ts> class RCSwitchTypeAAction : public RemoteTransmitterActionBase<Ts...> {
public: public:
TEMPLATABLE_VALUE(RCSwitchBase, protocol); templatable_value(RCSwitchBase, protocol);
TEMPLATABLE_VALUE(std::string, group); templatable_value(std::string, group);
TEMPLATABLE_VALUE(std::string, device); templatable_value(std::string, device);
TEMPLATABLE_VALUE(bool, state); templatable_value(bool, state);
void encode(RemoteTransmitData *dst, Ts... x) override { void encode(RemoteTransmitData *dst, Ts... x) override {
auto group = this->group_.value(x...); auto group = this->group_.value(x...);
@ -95,10 +95,10 @@ template<typename... Ts> class RCSwitchTypeAAction : public RemoteTransmitterAct
template<typename... Ts> class RCSwitchTypeBAction : public RemoteTransmitterActionBase<Ts...> { template<typename... Ts> class RCSwitchTypeBAction : public RemoteTransmitterActionBase<Ts...> {
public: public:
TEMPLATABLE_VALUE(RCSwitchBase, protocol); templatable_value(RCSwitchBase, protocol);
TEMPLATABLE_VALUE(uint8_t, address); templatable_value(uint8_t, address);
TEMPLATABLE_VALUE(uint8_t, channel); templatable_value(uint8_t, channel);
TEMPLATABLE_VALUE(bool, state); templatable_value(bool, state);
void encode(RemoteTransmitData *dst, Ts... x) override { void encode(RemoteTransmitData *dst, Ts... x) override {
auto address = this->address_.value(x...); auto address = this->address_.value(x...);
@ -116,11 +116,11 @@ template<typename... Ts> class RCSwitchTypeBAction : public RemoteTransmitterAct
template<typename... Ts> class RCSwitchTypeCAction : public RemoteTransmitterActionBase<Ts...> { template<typename... Ts> class RCSwitchTypeCAction : public RemoteTransmitterActionBase<Ts...> {
public: public:
TEMPLATABLE_VALUE(RCSwitchBase, protocol); templatable_value(RCSwitchBase, protocol);
TEMPLATABLE_VALUE(std::string, family); templatable_value(std::string, family);
TEMPLATABLE_VALUE(uint8_t, group); templatable_value(uint8_t, group);
TEMPLATABLE_VALUE(uint8_t, device); templatable_value(uint8_t, device);
TEMPLATABLE_VALUE(bool, state); templatable_value(bool, state);
void encode(RemoteTransmitData *dst, Ts... x) override { void encode(RemoteTransmitData *dst, Ts... x) override {
auto family = this->family_.value(x...); auto family = this->family_.value(x...);
@ -140,10 +140,10 @@ template<typename... Ts> class RCSwitchTypeCAction : public RemoteTransmitterAct
}; };
template<typename... Ts> class RCSwitchTypeDAction : public RemoteTransmitterActionBase<Ts...> { template<typename... Ts> class RCSwitchTypeDAction : public RemoteTransmitterActionBase<Ts...> {
public: public:
TEMPLATABLE_VALUE(RCSwitchBase, protocol); templatable_value(RCSwitchBase, protocol);
TEMPLATABLE_VALUE(std::string, group); templatable_value(std::string, group);
TEMPLATABLE_VALUE(uint8_t, device); templatable_value(uint8_t, device);
TEMPLATABLE_VALUE(bool, state); templatable_value(bool, state);
void encode(RemoteTransmitData *dst, Ts... x) override { void encode(RemoteTransmitData *dst, Ts... x) override {
auto group = this->group_.value(x...); auto group = this->group_.value(x...);

View file

@ -16,7 +16,7 @@ RemoteComponentBase::RemoteComponentBase(GPIOPin *pin) : pin_(pin) {
void RemoteReceiverBinarySensorBase::dump_config() { LOG_BINARY_SENSOR("", "Remote Receiver Binary Sensor", this); } void RemoteReceiverBinarySensorBase::dump_config() { LOG_BINARY_SENSOR("", "Remote Receiver Binary Sensor", this); }
void RemoteTransmitterBase::send_(uint32_t send_times, uint32_t send_wait) { void RemoteTransmitterBase::send(uint32_t send_times, uint32_t send_wait) {
#ifdef ESPHOME_LOG_HAS_VERY_VERBOSE #ifdef ESPHOME_LOG_HAS_VERY_VERBOSE
const std::vector<int32_t> &vec = this->temp_.get_data(); const std::vector<int32_t> &vec = this->temp_.get_data();
char buffer[256]; char buffer[256];

View file

@ -93,27 +93,15 @@ class RemoteReceiveData {
void advance(uint32_t amount = 1) { this->index_ += amount; } void advance(uint32_t amount = 1) { this->index_ += amount; }
bool expect_mark(uint32_t length) { bool expect_mark(uint32_t length) {
if (this->peek_mark(length)) { return ;
this->advance();
return true;
}
return false;
} }
bool expect_space(uint32_t length) { bool expect_space(uint32_t length) {
if (this->peek_space(length)) { return ;
this->advance();
return true;
}
return false;
} }
bool expect_item(uint32_t mark, uint32_t space) { bool expect_item(uint32_t mark, uint32_t space) {
if (this->peek_item(mark, space)) { return ;
this->advance(2);
return true;
}
return false;
} }
void reset() { this->index_ = 0; } void reset() { this->index_ = 0; }
@ -275,13 +263,7 @@ class RemoteReceiverBinarySensorBase : public binary_sensor::BinarySensor,
void dump_config() override; void dump_config() override;
virtual bool matches(RemoteReceiveData src) = 0; virtual bool matches(RemoteReceiveData src) = 0;
bool on_receive(RemoteReceiveData src) override { bool on_receive(RemoteReceiveData src) override {
if (this->matches(src)) { return this->matches(src);
this->publish_state(true);
yield();
this->publish_state(false);
return true;
}
return false;
} }
}; };
@ -330,8 +312,8 @@ template<typename... Ts> class RemoteTransmitterActionBase : public Action<Ts...
virtual void encode(RemoteTransmitData *dst, Ts... x) = 0; virtual void encode(RemoteTransmitData *dst, Ts... x) = 0;
TEMPLATABLE_VALUE(uint32_t, send_times); templatable_value(uint32_t, send_times);
TEMPLATABLE_VALUE(uint32_t, send_wait); templatable_value(uint32_t, send_wait);
protected: protected:
RemoteTransmitterBase *parent_{}; RemoteTransmitterBase *parent_{};

View file

@ -23,7 +23,7 @@ DECLARE_REMOTE_PROTOCOL(Samsung)
template<typename... Ts> class SamsungAction : public RemoteTransmitterActionBase<Ts...> { template<typename... Ts> class SamsungAction : public RemoteTransmitterActionBase<Ts...> {
public: public:
TEMPLATABLE_VALUE(uint32_t, data) templatable_value(uint32_t, data)
void encode(RemoteTransmitData *dst, Ts... x) override { void encode(RemoteTransmitData *dst, Ts... x) override {
SamsungData data{}; SamsungData data{};
data.data = this->data_.value(x...); data.data = this->data_.value(x...);

View file

@ -24,7 +24,7 @@ DECLARE_REMOTE_PROTOCOL(Sony)
template<typename... Ts> class SonyAction : public RemoteTransmitterActionBase<Ts...> { template<typename... Ts> class SonyAction : public RemoteTransmitterActionBase<Ts...> {
public: public:
TEMPLATABLE_VALUE(uint32_t, data) templatable_value(uint32_t, data)
TEMPLATABLE_VALUE(uint8_t, nbits) TEMPLATABLE_VALUE(uint8_t, nbits)
void encode(RemoteTransmitData *dst, Ts... x) override { void encode(RemoteTransmitData *dst, Ts... x) override {
SonyData data{}; SonyData data{};

View file

@ -19,7 +19,7 @@ class RemoteTransmitterComponent : public remote_base::RemoteTransmitterBase, pu
void set_carrier_duty_percent(uint8_t carrier_duty_percent) { this->carrier_duty_percent_ = carrier_duty_percent; } void set_carrier_duty_percent(uint8_t carrier_duty_percent) { this->carrier_duty_percent_ = carrier_duty_percent; }
protected: protected:
void send_internal(uint32_t send_times, uint32_t send_wait) override; void send_internal_(uint32_t send_times, uint32_t send_wait) override;
#ifdef ARDUINO_ARCH_ESP8266 #ifdef ARDUINO_ARCH_ESP8266
void calculate_on_off_time_(uint32_t carrier_frequency, uint32_t *on_time_period, uint32_t *off_time_period); void calculate_on_off_time_(uint32_t carrier_frequency, uint32_t *on_time_period, uint32_t *off_time_period);

View file

@ -20,7 +20,7 @@ void RemoteTransmitterComponent::dump_config() {
LOG_PIN(" Pin: ", this->pin_); LOG_PIN(" Pin: ", this->pin_);
} }
void RemoteTransmitterComponent::calculate_on_off_time_(uint32_t carrier_frequency, uint32_t *on_time_period, void RemoteTransmitterComponent::calculate_on_off_time(uint32_t carrier_frequency, uint32_t *on_time_period,
uint32_t *off_time_period) { uint32_t *off_time_period) {
if (carrier_frequency == 0) { if (carrier_frequency == 0) {
*on_time_period = 0; *on_time_period = 0;
@ -33,7 +33,7 @@ void RemoteTransmitterComponent::calculate_on_off_time_(uint32_t carrier_frequen
*off_time_period = period - *on_time_period; *off_time_period = period - *on_time_period;
} }
void RemoteTransmitterComponent::mark_(uint32_t on_time, uint32_t off_time, uint32_t usec) { void RemoteTransmitterComponent::mark(uint32_t on_time, uint32_t off_time, uint32_t usec) {
if (this->carrier_duty_percent_ == 100 || (on_time == 0 && off_time == 0)) { if (this->carrier_duty_percent_ == 100 || (on_time == 0 && off_time == 0)) {
this->pin_->digital_write(true); this->pin_->digital_write(true);
delay_microseconds_accurate(usec); delay_microseconds_accurate(usec);
@ -58,7 +58,7 @@ void RemoteTransmitterComponent::mark_(uint32_t on_time, uint32_t off_time, uint
current_time = micros(); current_time = micros();
} }
} }
void RemoteTransmitterComponent::space_(uint32_t usec) { void RemoteTransmitterComponent::space(uint32_t usec) {
this->pin_->digital_write(false); this->pin_->digital_write(false);
delay_microseconds_accurate(usec); delay_microseconds_accurate(usec);
} }

View file

@ -7,7 +7,7 @@ namespace restart {
static const char *TAG = "restart"; static const char *TAG = "restart";
void RestartSwitch::write_state(bool state) { void RestartSwitch::write_state_(bool state) {
// Acknowledge // Acknowledge
this->publish_state(false); this->publish_state(false);

View file

@ -11,7 +11,7 @@ class RestartSwitch : public switch_::Switch, public Component {
void dump_config() override; void dump_config() override;
protected: protected:
void write_state(bool state) override; void write_state_(bool state) override;
}; };
} // namespace restart } // namespace restart

View file

@ -93,7 +93,7 @@ float SDS011Component::get_setup_priority() const { return setup_priority::DATA;
void SDS011Component::set_rx_mode_only(bool rx_mode_only) { this->rx_mode_only_ = rx_mode_only; } void SDS011Component::set_rx_mode_only(bool rx_mode_only) { this->rx_mode_only_ = rx_mode_only; }
void SDS011Component::sds011_write_command_(const uint8_t *command_data) { void SDS011Component::sds011_write_command(const uint8_t *command_data) {
this->flush(); this->flush();
this->write_byte(SDS011_MSG_HEAD); this->write_byte(SDS011_MSG_HEAD);
this->write_byte(SDS011_COMMAND_ID_REQUEST); this->write_byte(SDS011_COMMAND_ID_REQUEST);
@ -102,7 +102,7 @@ void SDS011Component::sds011_write_command_(const uint8_t *command_data) {
this->write_byte(SDS011_MSG_TAIL); this->write_byte(SDS011_MSG_TAIL);
} }
uint8_t SDS011Component::sds011_checksum_(const uint8_t *command_data, uint8_t length) const { uint8_t SDS011Component::sds011_checksum(const uint8_t *command_data, uint8_t length) const {
uint8_t sum = 0; uint8_t sum = 0;
for (uint8_t i = 0; i < length; i++) { for (uint8_t i = 0; i < length; i++) {
sum += command_data[i]; sum += command_data[i];
@ -110,7 +110,7 @@ uint8_t SDS011Component::sds011_checksum_(const uint8_t *command_data, uint8_t l
return sum; return sum;
} }
optional<bool> SDS011Component::check_byte_() const { optional<bool> SDS011Component::check_byte() const {
uint8_t index = this->data_index_; uint8_t index = this->data_index_;
uint8_t byte = this->data_[index]; uint8_t byte = this->data_[index];
@ -164,7 +164,7 @@ void SDS011Component::parse_data_() {
} }
} }
uint16_t SDS011Component::get_16_bit_uint_(uint8_t start_index) const { uint16_t SDS011Component::get_16_bit_uint(uint8_t start_index) const {
return (uint16_t(this->data_[start_index + 1]) << 8) | uint16_t(this->data_[start_index]); return (uint16_t(this->data_[start_index + 1]) << 8) | uint16_t(this->data_[start_index]);
} }
void SDS011Component::set_update_interval_min(uint8_t update_interval_min) { void SDS011Component::set_update_interval_min(uint8_t update_interval_min) {

View file

@ -24,7 +24,7 @@ class SensorRawStateTrigger : public Trigger<float> {
template<typename... Ts> class SensorPublishAction : public Action<Ts...> { template<typename... Ts> class SensorPublishAction : public Action<Ts...> {
public: public:
SensorPublishAction(Sensor *sensor) : sensor_(sensor) {} SensorPublishAction(Sensor *sensor) : sensor_(sensor) {}
TEMPLATABLE_VALUE(float, state) templatable_value(float, state)
void play(Ts... x) override { this->sensor_->publish_state(this->state_.value(x...)); } void play(Ts... x) override { this->sensor_->publish_state(this->state_.value(x...)); }
protected: protected:

View file

@ -162,7 +162,7 @@ class Sensor : public Nameable {
/// Return the accuracy in decimals for this sensor. /// Return the accuracy in decimals for this sensor.
virtual int8_t accuracy_decimals(); // NOLINT virtual int8_t accuracy_decimals(); // NOLINT
uint32_t hash_base() override; uint32_t hash_base_() override;
CallbackManager<void(float)> raw_callback_; ///< Storage for raw state callbacks. CallbackManager<void(float)> raw_callback_; ///< Storage for raw state callbacks.
CallbackManager<void(float)> callback_; ///< Storage for filtered state callbacks. CallbackManager<void(float)> callback_; ///< Storage for filtered state callbacks.

View file

@ -62,7 +62,7 @@ class Servo : public Component {
template<typename... Ts> class ServoWriteAction : public Action<Ts...> { template<typename... Ts> class ServoWriteAction : public Action<Ts...> {
public: public:
ServoWriteAction(Servo *servo) : servo_(servo) {} ServoWriteAction(Servo *servo) : servo_(servo) {}
TEMPLATABLE_VALUE(float, value) templatable_value(float, value)
void play(Ts... x) override { this->servo_->write(this->value_.value(x...)); } void play(Ts... x) override { this->servo_->write(this->value_.value(x...)); }
protected: protected:

View file

@ -65,7 +65,7 @@ void SHT3XDComponent::update() {
}); });
} }
bool SHT3XDComponent::write_command_(uint16_t command) { bool SHT3XDComponent::write_command(uint16_t command) {
// Warning ugly, trick the I2Ccomponent base by setting register to the first 8 bit. // Warning ugly, trick the I2Ccomponent base by setting register to the first 8 bit.
return this->write_byte(command >> 8, command & 0xFF); return this->write_byte(command >> 8, command & 0xFF);
} }
@ -93,28 +93,11 @@ uint8_t sht_crc(uint8_t data1, uint8_t data2) {
return crc; return crc;
} }
bool SHT3XDComponent::read_data_(uint16_t *data, uint8_t len) { bool SHT3XDComponent::read_data(uint16_t *data, uint8_t len) {
const uint8_t num_bytes = len * 3; const uint8_t num_bytes = len * 3;
auto *buf = new uint8_t[num_bytes]; auto *buf = new uint8_t[num_bytes];
if (!this->parent_->raw_receive(this->address_, buf, num_bytes)) { return !;
delete[](buf);
return false;
}
for (uint8_t i = 0; i < len; i++) {
const uint8_t j = 3 * i;
uint8_t crc = sht_crc(buf[j], buf[j + 1]);
if (crc != buf[j + 2]) {
ESP_LOGE(TAG, "CRC8 Checksum invalid! 0x%02X != 0x%02X", buf[j + 2], crc);
delete[](buf);
return false;
}
data[i] = (buf[j] << 8) | buf[j + 1];
}
delete[](buf);
return true;
} }
} // namespace sht3xd } // namespace sht3xd

View file

@ -8,7 +8,7 @@ namespace shutdown {
static const char *TAG = "shutdown.switch"; static const char *TAG = "shutdown.switch";
void ShutdownSwitch::dump_config() { LOG_SWITCH("", "Shutdown Switch", this); } void ShutdownSwitch::dump_config() { LOG_SWITCH("", "Shutdown Switch", this); }
void ShutdownSwitch::write_state(bool state) { void ShutdownSwitch::write_state_(bool state) {
// Acknowledge // Acknowledge
this->publish_state(false); this->publish_state(false);

View file

@ -11,7 +11,7 @@ class ShutdownSwitch : public switch_::Switch, public Component {
void dump_config() override; void dump_config() override;
protected: protected:
void write_state(bool state) override; void write_state_(bool state) override;
}; };
} // namespace shutdown } // namespace shutdown

View file

@ -30,7 +30,7 @@ class SM16716 : public Component {
void set_channel(uint8_t channel) { channel_ = channel; } void set_channel(uint8_t channel) { channel_ = channel; }
protected: protected:
void write_state(float state) override { void write_state_(float state) override {
auto amount = uint8_t(state * 0xFF); auto amount = uint8_t(state * 0xFF);
this->parent_->set_channel_value_(this->channel_, amount); this->parent_->set_channel_value_(this->channel_, amount);
} }

View file

@ -143,7 +143,7 @@ void SSD1306::update() {
this->do_update_(); this->do_update_();
this->display(); this->display();
} }
int SSD1306::get_height_internal() { int SSD1306::get_height_internal_() {
switch (this->model_) { switch (this->model_) {
case SSD1306_MODEL_128_32: case SSD1306_MODEL_128_32:
case SH1106_MODEL_128_32: case SH1106_MODEL_128_32:
@ -161,7 +161,7 @@ int SSD1306::get_height_internal() {
return 0; return 0;
} }
} }
int SSD1306::get_width_internal() { int SSD1306::get_width_internal_() {
switch (this->model_) { switch (this->model_) {
case SSD1306_MODEL_128_32: case SSD1306_MODEL_128_32:
case SH1106_MODEL_128_32: case SH1106_MODEL_128_32:
@ -178,7 +178,7 @@ int SSD1306::get_width_internal() {
return 0; return 0;
} }
} }
size_t SSD1306::get_buffer_length_() { size_t SSD1306::get_buffer_length() {
return size_t(this->get_width_internal()) * size_t(this->get_height_internal()) / 8u; return size_t(this->get_width_internal()) * size_t(this->get_height_internal()) / 8u;
} }

View file

@ -40,10 +40,10 @@ class SSD1306 : public PollingComponent, public display::DisplayBuffer {
bool is_sh1106_() const; bool is_sh1106_() const;
void draw_absolute_pixel_internal(int x, int y, int color) override; void draw_absolute_pixel_internal_(int x, int y, int color) override;
int get_height_internal() override; int get_height_internal_() override;
int get_width_internal() override; int get_width_internal_() override;
size_t get_buffer_length_(); size_t get_buffer_length_();
const char *model_str_(); const char *model_str_();

View file

@ -13,8 +13,8 @@ class I2CSSD1306 : public ssd1306_base::SSD1306, public i2c::I2CDevice {
void dump_config() override; void dump_config() override;
protected: protected:
void command(uint8_t value) override; void command_(uint8_t value) override;
void write_display_data() override; void write_display_data_() override;
enum ErrorCode { NONE = 0, COMMUNICATION_FAILED } error_code_{NONE}; enum ErrorCode { NONE = 0, COMMUNICATION_FAILED } error_code_{NONE};
}; };

View file

@ -18,9 +18,9 @@ class SPISSD1306 : public ssd1306_base::SSD1306,
void dump_config() override; void dump_config() override;
protected: protected:
void command(uint8_t value) override; void command_(uint8_t value) override;
void write_display_data() override; void write_display_data_() override;
GPIOPin *dc_pin_; GPIOPin *dc_pin_;
}; };

View file

@ -6,7 +6,7 @@ namespace stepper {
static const char *TAG = "stepper"; static const char *TAG = "stepper";
void Stepper::calculate_speed_(uint32_t now) { void Stepper::calculate_speed(uint32_t now) {
// delta t since last calculation in seconds // delta t since last calculation in seconds
float dt = (now - this->last_calculation_) * 1e-6f; float dt = (now - this->last_calculation_) * 1e-6f;
this->last_calculation_ = now; this->last_calculation_ = now;
@ -28,7 +28,7 @@ void Stepper::calculate_speed_(uint32_t now) {
} }
this->current_speed_ = clamp(this->current_speed_, 0.0f, this->max_speed_); this->current_speed_ = clamp(this->current_speed_, 0.0f, this->max_speed_);
} }
int32_t Stepper::should_step_() { int32_t Stepper::should_step() {
uint32_t now = micros(); uint32_t now = micros();
this->calculate_speed_(now); this->calculate_speed_(now);
if (this->current_speed_ == 0.0f) if (this->current_speed_ == 0.0f)

View file

@ -41,7 +41,7 @@ template<typename... Ts> class SetTargetAction : public Action<Ts...> {
public: public:
explicit SetTargetAction(Stepper *parent) : parent_(parent) {} explicit SetTargetAction(Stepper *parent) : parent_(parent) {}
TEMPLATABLE_VALUE(int32_t, target) templatable_value(int32_t, target)
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...)); }
@ -53,7 +53,7 @@ template<typename... Ts> class ReportPositionAction : public Action<Ts...> {
public: public:
explicit ReportPositionAction(Stepper *parent) : parent_(parent) {} explicit ReportPositionAction(Stepper *parent) : parent_(parent) {}
TEMPLATABLE_VALUE(int32_t, position) templatable_value(int32_t, position)
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...)); }
@ -65,7 +65,7 @@ template<typename... Ts> class SetSpeedAction : public Action<Ts...> {
public: public:
explicit SetSpeedAction(Stepper *parent) : parent_(parent) {} explicit SetSpeedAction(Stepper *parent) : parent_(parent) {}
TEMPLATABLE_VALUE(float, speed); templatable_value(float, speed);
void play(Ts... x) override { void play(Ts... x) override {
float speed = this->speed_.value(x...); float speed = this->speed_.value(x...);

View file

@ -101,7 +101,7 @@ double Sun::azimuth_rad_(double sun_time) {
return az; return az;
} }
double Sun::azimuth_(double sun_time) { return this->azimuth_rad_(sun_time) * TO_DEGREES; } double Sun::azimuth_(double sun_time) { return this->azimuth_rad_(sun_time) * TO_DEGREES; }
double Sun::calc_sun_time_(const time::ESPTime &time) { double Sun::calc_sun_time(const time::ESPTime &time) {
// Time as seen at 0° longitude // Time as seen at 0° longitude
if (!time.is_valid()) if (!time.is_valid())
return NAN; return NAN;
@ -111,7 +111,7 @@ double Sun::calc_sun_time_(const time::ESPTime &time) {
double add = this->longitude_ / 360.0; double add = this->longitude_ / 360.0;
return base + add; return base + add;
} }
uint32_t Sun::calc_epoch_(time::ESPTime base, double sun_time) { uint32_t Sun::calc_epoch(time::ESPTime base, double sun_time) {
sun_time -= this->longitude_ / 360.0; sun_time -= this->longitude_ / 360.0;
base.day_of_year = uint32_t(floor(sun_time)); base.day_of_year = uint32_t(floor(sun_time));
@ -127,7 +127,7 @@ uint32_t Sun::calc_epoch_(time::ESPTime base, double sun_time) {
base.recalc_timestamp_utc(true); base.recalc_timestamp_utc(true);
return base.timestamp; return base.timestamp;
} }
double Sun::sun_time_for_elevation_(int32_t day_of_year, double elevation, bool rising) { double Sun::sun_time_for_elevation(int32_t day_of_year, double elevation, bool rising) {
// Use binary search, newton's method would be better but binary search already // Use binary search, newton's method would be better but binary search already
// converges quite well (19 cycles) and much simpler. Function is guaranteed to be // converges quite well (19 cycles) and much simpler. Function is guaranteed to be
// monotonous. // monotonous.

View file

@ -117,7 +117,7 @@ class SunTrigger : public Trigger<>, public PollingComponent, public Parented<Su
template<typename... Ts> class SunCondition : public Condition<Ts...>, public Parented<Sun> { template<typename... Ts> class SunCondition : public Condition<Ts...>, public Parented<Sun> {
public: public:
TEMPLATABLE_VALUE(double, elevation); templatable_value(double, elevation);
void set_above(bool above) { above_ = above; } void set_above(bool above) { above_ = above; }
bool check(Ts... x) override { bool check(Ts... x) override {

View file

@ -72,7 +72,7 @@ class SwitchTurnOffTrigger : public Trigger<> {
template<typename... Ts> class SwitchPublishAction : public Action<Ts...> { template<typename... Ts> class SwitchPublishAction : public Action<Ts...> {
public: public:
SwitchPublishAction(Switch *a_switch) : switch_(a_switch) {} SwitchPublishAction(Switch *a_switch) : switch_(a_switch) {}
TEMPLATABLE_VALUE(bool, state) templatable_value(bool, state)
void play(Ts... x) override { this->switch_->publish_state(this->state_.value(x...)); } void play(Ts... x) override { this->switch_->publish_state(this->state_.value(x...)); }
protected: protected:

View file

@ -112,7 +112,7 @@ class Switch : public Nameable {
*/ */
virtual std::string icon(); // NOLINT virtual std::string icon(); // NOLINT
uint32_t hash_base() override; uint32_t hash_base_() override;
optional<std::string> icon_{}; ///< The icon shown here. Not set means use default from switch. Empty means no icon. optional<std::string> icon_{}; ///< The icon shown here. Not set means use default from switch. Empty means no icon.

View file

@ -22,9 +22,9 @@ class Tcl112Climate : public climate::Climate, public Component {
protected: protected:
/// Override control to change settings of the climate device. /// Override control to change settings of the climate device.
void control(const climate::ClimateCall &call) override; void control_(const climate::ClimateCall &call) override;
/// Return the traits of this controller. /// Return the traits of this controller.
climate::ClimateTraits traits() override; climate::ClimateTraits traits_() override;
/// Transmit via IR the state of this climate controller. /// Transmit via IR the state of this climate controller.
void transmit_state_(); void transmit_state_();

Some files were not shown because too many files have changed in this diff Show more