Merge pull request #4769 from esphome/bump-2023.4.3

2023.4.3
This commit is contained in:
Jesse Hills 2023-05-02 17:28:32 +12:00 committed by GitHub
commit e725e15f7a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 38 additions and 8 deletions

View file

@ -141,7 +141,7 @@ void I2SAudioMediaPlayer::start_() {
this->audio_ = make_unique<Audio>(true, this->internal_dac_mode_, this->parent_->get_port()); this->audio_ = make_unique<Audio>(true, this->internal_dac_mode_, this->parent_->get_port());
} else { } else {
#endif #endif
this->audio_ = make_unique<Audio>(false, I2S_DAC_CHANNEL_BOTH_EN, this->parent_->get_port()); this->audio_ = make_unique<Audio>(false, 3, this->parent_->get_port());
i2s_pin_config_t pin_config = this->parent_->get_pin_config(); i2s_pin_config_t pin_config = this->parent_->get_pin_config();
pin_config.data_out_num = this->dout_pin_; pin_config.data_out_num = this->dout_pin_;

View file

@ -286,7 +286,9 @@ SPRINKLER_VALVE_SCHEMA = cv.Schema(
{ {
cv.Optional(CONF_ENABLE_SWITCH): cv.maybe_simple_value( cv.Optional(CONF_ENABLE_SWITCH): cv.maybe_simple_value(
switch.switch_schema( switch.switch_schema(
SprinklerControllerSwitch, entity_category=ENTITY_CATEGORY_CONFIG SprinklerControllerSwitch,
entity_category=ENTITY_CATEGORY_CONFIG,
default_restore_mode="RESTORE_DEFAULT_OFF",
), ),
key=CONF_NAME, key=CONF_NAME,
), ),
@ -333,7 +335,9 @@ SPRINKLER_CONTROLLER_SCHEMA = cv.Schema(
cv.Optional(CONF_NAME): cv.string, cv.Optional(CONF_NAME): cv.string,
cv.Optional(CONF_AUTO_ADVANCE_SWITCH): cv.maybe_simple_value( cv.Optional(CONF_AUTO_ADVANCE_SWITCH): cv.maybe_simple_value(
switch.switch_schema( switch.switch_schema(
SprinklerControllerSwitch, entity_category=ENTITY_CATEGORY_CONFIG SprinklerControllerSwitch,
entity_category=ENTITY_CATEGORY_CONFIG,
default_restore_mode="RESTORE_DEFAULT_OFF",
), ),
key=CONF_NAME, key=CONF_NAME,
), ),
@ -343,19 +347,25 @@ SPRINKLER_CONTROLLER_SCHEMA = cv.Schema(
), ),
cv.Optional(CONF_QUEUE_ENABLE_SWITCH): cv.maybe_simple_value( cv.Optional(CONF_QUEUE_ENABLE_SWITCH): cv.maybe_simple_value(
switch.switch_schema( switch.switch_schema(
SprinklerControllerSwitch, entity_category=ENTITY_CATEGORY_CONFIG SprinklerControllerSwitch,
entity_category=ENTITY_CATEGORY_CONFIG,
default_restore_mode="RESTORE_DEFAULT_OFF",
), ),
key=CONF_NAME, key=CONF_NAME,
), ),
cv.Optional(CONF_REVERSE_SWITCH): cv.maybe_simple_value( cv.Optional(CONF_REVERSE_SWITCH): cv.maybe_simple_value(
switch.switch_schema( switch.switch_schema(
SprinklerControllerSwitch, entity_category=ENTITY_CATEGORY_CONFIG SprinklerControllerSwitch,
entity_category=ENTITY_CATEGORY_CONFIG,
default_restore_mode="RESTORE_DEFAULT_OFF",
), ),
key=CONF_NAME, key=CONF_NAME,
), ),
cv.Optional(CONF_STANDBY_SWITCH): cv.maybe_simple_value( cv.Optional(CONF_STANDBY_SWITCH): cv.maybe_simple_value(
switch.switch_schema( switch.switch_schema(
SprinklerControllerSwitch, entity_category=ENTITY_CATEGORY_CONFIG SprinklerControllerSwitch,
entity_category=ENTITY_CATEGORY_CONFIG,
default_restore_mode="RESTORE_DEFAULT_OFF",
), ),
key=CONF_NAME, key=CONF_NAME,
), ),

View file

@ -1176,6 +1176,21 @@ optional<uint32_t> Sprinkler::time_remaining_current_operation() {
return nullopt; return nullopt;
} }
bool Sprinkler::any_controller_is_active() {
if (this->state_ != IDLE) {
return true;
}
for (auto &controller : this->other_controllers_) {
if (controller != this) { // dummy check
if (controller->controller_state() != IDLE) {
return true;
}
}
}
return false;
}
SprinklerControllerSwitch *Sprinkler::control_switch(size_t valve_number) { SprinklerControllerSwitch *Sprinkler::control_switch(size_t valve_number) {
if (this->is_a_valid_valve(valve_number)) { if (this->is_a_valid_valve(valve_number)) {
return this->valve_[valve_number].controller_switch; return this->valve_[valve_number].controller_switch;

View file

@ -406,6 +406,12 @@ class Sprinkler : public Component {
/// returns the amount of time remaining in seconds for all valves remaining, including the active valve, if any /// returns the amount of time remaining in seconds for all valves remaining, including the active valve, if any
optional<uint32_t> time_remaining_current_operation(); optional<uint32_t> time_remaining_current_operation();
/// returns true if this or any sprinkler controller this controller knows about is active
bool any_controller_is_active();
/// returns the current state of the sprinkler controller
SprinklerState controller_state() { return this->state_; };
/// returns a pointer to a valve's control switch object /// returns a pointer to a valve's control switch object
SprinklerControllerSwitch *control_switch(size_t valve_number); SprinklerControllerSwitch *control_switch(size_t valve_number);
@ -503,7 +509,6 @@ class Sprinkler : public Component {
/// callback functions for timers /// callback functions for timers
void valve_selection_callback_(); void valve_selection_callback_();
void sm_timer_callback_(); void sm_timer_callback_();
void pump_stop_delay_callback_();
/// Maximum allowed queue size /// Maximum allowed queue size
const uint8_t max_queue_size_{100}; const uint8_t max_queue_size_{100};

View file

@ -1,6 +1,6 @@
"""Constants used by esphome.""" """Constants used by esphome."""
__version__ = "2023.4.2" __version__ = "2023.4.3"
ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_" ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_"