mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 15:12:06 +00:00 
			
		
		
		
	preen
This commit is contained in:
		| @@ -7,12 +7,12 @@ namespace copy { | ||||
| static const char *const TAG = "copy.select"; | ||||
|  | ||||
| void CopySelect::setup() { | ||||
|   source_->add_on_state_callback([this](const std::string &value, size_t index) { this->publish_state(value); }); | ||||
|   source_->add_on_state_callback([this](const std::string &value, size_t index) { this->publish_state(index); }); | ||||
|  | ||||
|   traits.set_options(source_->traits.get_options()); | ||||
|  | ||||
|   if (source_->has_state()) | ||||
|     this->publish_state(source_->state); | ||||
|     this->publish_state(source_->current_option()); | ||||
| } | ||||
|  | ||||
| void CopySelect::dump_config() { LOG_SELECT("", "Copy Select", this); } | ||||
|   | ||||
| @@ -42,7 +42,7 @@ std::string MenuItemSelect::get_value_text() const { | ||||
|     result = this->value_getter_.value()(this); | ||||
|   } else { | ||||
|     if (this->select_var_ != nullptr) { | ||||
|       result = this->select_var_->state; | ||||
|       result = this->select_var_->current_option(); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -441,7 +441,7 @@ bool LD2410Component::handle_ack_data_() { | ||||
|       ESP_LOGV(TAG, "Baud rate change"); | ||||
| #ifdef USE_SELECT | ||||
|       if (this->baud_rate_select_ != nullptr) { | ||||
|         ESP_LOGE(TAG, "Change baud rate to %s and reinstall", this->baud_rate_select_->state.c_str()); | ||||
|         ESP_LOGE(TAG, "Change baud rate to %s and reinstall", this->baud_rate_select_->current_option()); | ||||
|       } | ||||
| #endif | ||||
|       break; | ||||
| @@ -759,10 +759,10 @@ void LD2410Component::set_light_out_control() { | ||||
| #endif | ||||
| #ifdef USE_SELECT | ||||
|   if (this->light_function_select_ != nullptr && this->light_function_select_->has_state()) { | ||||
|     this->light_function_ = find_uint8(LIGHT_FUNCTIONS_BY_STR, this->light_function_select_->state); | ||||
|     this->light_function_ = find_uint8(LIGHT_FUNCTIONS_BY_STR, this->light_function_select_->current_option()); | ||||
|   } | ||||
|   if (this->out_pin_level_select_ != nullptr && this->out_pin_level_select_->has_state()) { | ||||
|     this->out_pin_level_ = find_uint8(OUT_PIN_LEVELS_BY_STR, this->out_pin_level_select_->state); | ||||
|     this->out_pin_level_ = find_uint8(OUT_PIN_LEVELS_BY_STR, this->out_pin_level_select_->current_option()); | ||||
|   } | ||||
| #endif | ||||
|   this->set_config_mode_(true); | ||||
|   | ||||
| @@ -485,7 +485,7 @@ bool LD2412Component::handle_ack_data_() { | ||||
|       ESP_LOGV(TAG, "Baud rate change"); | ||||
| #ifdef USE_SELECT | ||||
|       if (this->baud_rate_select_ != nullptr) { | ||||
|         ESP_LOGW(TAG, "Change baud rate to %s and reinstall", this->baud_rate_select_->state.c_str()); | ||||
|         ESP_LOGW(TAG, "Change baud rate to %s and reinstall", this->baud_rate_select_->current_option()); | ||||
|       } | ||||
| #endif | ||||
|       break; | ||||
| @@ -783,7 +783,7 @@ void LD2412Component::set_basic_config() { | ||||
|       1,    TOTAL_GATES, DEFAULT_PRESENCE_TIMEOUT, 0, | ||||
| #endif | ||||
| #ifdef USE_SELECT | ||||
|       find_uint8(OUT_PIN_LEVELS_BY_STR, this->out_pin_level_select_->state), | ||||
|       find_uint8(OUT_PIN_LEVELS_BY_STR, this->out_pin_level_select_->current_option()), | ||||
| #else | ||||
|       0x01,  // Default value if not using select | ||||
| #endif | ||||
| @@ -837,7 +837,7 @@ void LD2412Component::set_light_out_control() { | ||||
| #endif | ||||
| #ifdef USE_SELECT | ||||
|   if (this->light_function_select_ != nullptr && this->light_function_select_->has_state()) { | ||||
|     this->light_function_ = find_uint8(LIGHT_FUNCTIONS_BY_STR, this->light_function_select_->state); | ||||
|     this->light_function_ = find_uint8(LIGHT_FUNCTIONS_BY_STR, this->light_function_select_->current_option()); | ||||
|   } | ||||
| #endif | ||||
|   uint8_t value[2] = {this->light_function_, this->light_threshold_}; | ||||
|   | ||||
| @@ -380,7 +380,7 @@ void LD2450Component::read_all_info() { | ||||
|   this->set_config_mode_(false); | ||||
| #ifdef USE_SELECT | ||||
|   const auto baud_rate = std::to_string(this->parent_->get_baud_rate()); | ||||
|   if (this->baud_rate_select_ != nullptr && this->baud_rate_select_->state != baud_rate) { | ||||
|   if (this->baud_rate_select_ != nullptr && strcmp(this->baud_rate_select_->current_option(), baud_rate.c_str()) != 0) { | ||||
|     this->baud_rate_select_->publish_state(baud_rate); | ||||
|   } | ||||
|   this->publish_zone_type(); | ||||
| @@ -635,7 +635,7 @@ bool LD2450Component::handle_ack_data_() { | ||||
|       ESP_LOGV(TAG, "Baud rate change"); | ||||
| #ifdef USE_SELECT | ||||
|       if (this->baud_rate_select_ != nullptr) { | ||||
|         ESP_LOGE(TAG, "Change baud rate to %s and reinstall", this->baud_rate_select_->state.c_str()); | ||||
|         ESP_LOGE(TAG, "Change baud rate to %s and reinstall", this->baud_rate_select_->current_option()); | ||||
|       } | ||||
| #endif | ||||
|       break; | ||||
| @@ -716,7 +716,7 @@ bool LD2450Component::handle_ack_data_() { | ||||
|       this->publish_zone_type(); | ||||
| #ifdef USE_SELECT | ||||
|       if (this->zone_type_select_ != nullptr) { | ||||
|         ESP_LOGV(TAG, "Change zone type to: %s", this->zone_type_select_->state.c_str()); | ||||
|         ESP_LOGV(TAG, "Change zone type to: %s", this->zone_type_select_->current_option()); | ||||
|       } | ||||
| #endif | ||||
|       if (this->buffer_data_[10] == 0x00) { | ||||
|   | ||||
| @@ -21,7 +21,8 @@ void MQTTSelectComponent::setup() { | ||||
|     call.set_option(state); | ||||
|     call.perform(); | ||||
|   }); | ||||
|   this->select_->add_on_state_callback([this](const std::string &state, size_t index) { this->publish_state(state); }); | ||||
|   this->select_->add_on_state_callback( | ||||
|       [this](const std::string &state, size_t index) { this->publish_state(this->select_->option_at(index)); }); | ||||
| } | ||||
|  | ||||
| void MQTTSelectComponent::dump_config() { | ||||
| @@ -44,7 +45,7 @@ void MQTTSelectComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryCon | ||||
| } | ||||
| bool MQTTSelectComponent::send_initial_state() { | ||||
|   if (this->select_->has_state()) { | ||||
|     return this->publish_state(this->select_->state); | ||||
|     return this->publish_state(this->select_->current_option()); | ||||
|   } else { | ||||
|     return true; | ||||
|   } | ||||
|   | ||||
| @@ -435,12 +435,12 @@ void MR24HPC1Component::r24_frame_parse_open_underlying_information_(uint8_t *da | ||||
|   } else if ((this->existence_boundary_select_ != nullptr) && | ||||
|              ((data[FRAME_COMMAND_WORD_INDEX] == 0x0a) || (data[FRAME_COMMAND_WORD_INDEX] == 0x8a))) { | ||||
|     if (this->existence_boundary_select_->has_index(data[FRAME_DATA_INDEX] - 1)) { | ||||
|       this->existence_boundary_select_->publish_state(S_BOUNDARY_STR[data[FRAME_DATA_INDEX] - 1]); | ||||
|       this->existence_boundary_select_->publish_state(data[FRAME_DATA_INDEX] - 1); | ||||
|     } | ||||
|   } else if ((this->motion_boundary_select_ != nullptr) && | ||||
|              ((data[FRAME_COMMAND_WORD_INDEX] == 0x0b) || (data[FRAME_COMMAND_WORD_INDEX] == 0x8b))) { | ||||
|     if (this->motion_boundary_select_->has_index(data[FRAME_DATA_INDEX] - 1)) { | ||||
|       this->motion_boundary_select_->publish_state(S_BOUNDARY_STR[data[FRAME_DATA_INDEX] - 1]); | ||||
|       this->motion_boundary_select_->publish_state(data[FRAME_DATA_INDEX] - 1); | ||||
|     } | ||||
|   } else if ((this->motion_trigger_number_ != nullptr) && | ||||
|              ((data[FRAME_COMMAND_WORD_INDEX] == 0x0c) || (data[FRAME_COMMAND_WORD_INDEX] == 0x8c))) { | ||||
| @@ -515,7 +515,7 @@ void MR24HPC1Component::r24_frame_parse_work_status_(uint8_t *data) { | ||||
|     ESP_LOGD(TAG, "Reply: get radar init status 0x%02X", data[FRAME_DATA_INDEX]); | ||||
|   } else if (data[FRAME_COMMAND_WORD_INDEX] == 0x07) { | ||||
|     if ((this->scene_mode_select_ != nullptr) && (this->scene_mode_select_->has_index(data[FRAME_DATA_INDEX]))) { | ||||
|       this->scene_mode_select_->publish_state(S_SCENE_STR[data[FRAME_DATA_INDEX]]); | ||||
|       this->scene_mode_select_->publish_state(data[FRAME_DATA_INDEX]); | ||||
|     } else { | ||||
|       ESP_LOGD(TAG, "Select has index offset %d Error", data[FRAME_DATA_INDEX]); | ||||
|     } | ||||
| @@ -538,7 +538,7 @@ void MR24HPC1Component::r24_frame_parse_work_status_(uint8_t *data) { | ||||
|     ESP_LOGD(TAG, "Reply: get radar init status 0x%02X", data[FRAME_DATA_INDEX]); | ||||
|   } else if (data[FRAME_COMMAND_WORD_INDEX] == 0x87) { | ||||
|     if ((this->scene_mode_select_ != nullptr) && (this->scene_mode_select_->has_index(data[FRAME_DATA_INDEX]))) { | ||||
|       this->scene_mode_select_->publish_state(S_SCENE_STR[data[FRAME_DATA_INDEX]]); | ||||
|       this->scene_mode_select_->publish_state(data[FRAME_DATA_INDEX]); | ||||
|     } else { | ||||
|       ESP_LOGD(TAG, "Select has index offset %d Error", data[FRAME_DATA_INDEX]); | ||||
|     } | ||||
| @@ -581,7 +581,7 @@ void MR24HPC1Component::r24_frame_parse_human_information_(uint8_t *data) { | ||||
|              ((data[FRAME_COMMAND_WORD_INDEX] == 0x0A) || (data[FRAME_COMMAND_WORD_INDEX] == 0x8A))) { | ||||
|     // none:0x00  1s:0x01 30s:0x02 1min:0x03 2min:0x04 5min:0x05 10min:0x06 30min:0x07 1hour:0x08 | ||||
|     if (data[FRAME_DATA_INDEX] < 9) { | ||||
|       this->unman_time_select_->publish_state(S_UNMANNED_TIME_STR[data[FRAME_DATA_INDEX]]); | ||||
|       this->unman_time_select_->publish_state(data[FRAME_DATA_INDEX]); | ||||
|     } | ||||
|   } else if ((this->keep_away_text_sensor_ != nullptr) && | ||||
|              ((data[FRAME_COMMAND_WORD_INDEX] == 0x0B) || (data[FRAME_COMMAND_WORD_INDEX] == 0x8B))) { | ||||
|   | ||||
| @@ -292,7 +292,7 @@ void MR60FDA2Component::process_frame_() { | ||||
|  | ||||
|         install_height_float = bit_cast<float>(current_install_height_int); | ||||
|         uint32_t select_index = find_nearest_index(install_height_float, INSTALL_HEIGHT, 7); | ||||
|         this->install_height_select_->publish_state(this->install_height_select_->at(select_index).value()); | ||||
|         this->install_height_select_->publish_state(select_index); | ||||
|       } | ||||
|  | ||||
|       if (this->height_threshold_select_ != nullptr) { | ||||
| @@ -301,7 +301,7 @@ void MR60FDA2Component::process_frame_() { | ||||
|  | ||||
|         height_threshold_float = bit_cast<float>(current_height_threshold_int); | ||||
|         size_t select_index = find_nearest_index(height_threshold_float, HEIGHT_THRESHOLD, 7); | ||||
|         this->height_threshold_select_->publish_state(this->height_threshold_select_->at(select_index).value()); | ||||
|         this->height_threshold_select_->publish_state(select_index); | ||||
|       } | ||||
|  | ||||
|       if (this->sensitivity_select_ != nullptr) { | ||||
| @@ -309,7 +309,7 @@ void MR60FDA2Component::process_frame_() { | ||||
|             encode_uint32(current_data_buf_[11], current_data_buf_[10], current_data_buf_[9], current_data_buf_[8]); | ||||
|  | ||||
|         uint32_t select_index = find_nearest_index(current_sensitivity, SENSITIVITY, 3); | ||||
|         this->sensitivity_select_->publish_state(this->sensitivity_select_->at(select_index).value()); | ||||
|         this->sensitivity_select_->publish_state(select_index); | ||||
|       } | ||||
|  | ||||
|       ESP_LOGD(TAG, "Mounting height: %.2f, Height threshold: %.2f, Sensitivity: %" PRIu32, install_height_float, | ||||
|   | ||||
| @@ -14,13 +14,13 @@ void Select::publish_state(const char *state) { | ||||
|   if (index.has_value()) { | ||||
|     this->publish_state(index.value()); | ||||
|   } else { | ||||
|     ESP_LOGE(TAG, "'%s': invalid state for publish_state(): %s", this->get_name().c_str(), state); | ||||
|     ESP_LOGE(TAG, "'%s': Invalid option %s", this->get_name().c_str(), state); | ||||
|   } | ||||
| } | ||||
|  | ||||
| void Select::publish_state(size_t index) { | ||||
|   if (!this->has_index(index)) { | ||||
|     ESP_LOGE(TAG, "'%s': invalid index for publish_state(): %zu", this->get_name().c_str(), index); | ||||
|     ESP_LOGE(TAG, "'%s': Invalid index %zu", this->get_name().c_str(), index); | ||||
|     return; | ||||
|   } | ||||
|   const char *option = this->option_at(index); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user