mirror of
https://github.com/esphome/esphome.git
synced 2025-09-12 00:02:21 +01:00
Merge branch 'update_no_batch' into integration
This commit is contained in:
@@ -703,10 +703,16 @@ class APIConnection : public APIServerConnection {
|
||||
bool send_message_smart_(EntityBase *entity, MessageCreatorPtr creator, uint8_t message_type,
|
||||
uint8_t estimated_size) {
|
||||
// Try to send immediately if:
|
||||
// 1. We should try to send immediately (should_try_send_immediately = true)
|
||||
// 2. Batch delay is 0 (user has opted in to immediate sending)
|
||||
// 3. Buffer has space available
|
||||
if (this->flags_.should_try_send_immediately && this->get_batch_delay_ms_() == 0 &&
|
||||
// 1. It's an UpdateStateResponse (always send immediately to handle cases where
|
||||
// the main loop is blocked, e.g., during OTA updates)
|
||||
// 2. OR: We should try to send immediately (should_try_send_immediately = true)
|
||||
// AND Batch delay is 0 (user has opted in to immediate sending)
|
||||
// 3. AND: Buffer has space available
|
||||
if ((
|
||||
#ifdef USE_UPDATE
|
||||
message_type == UpdateStateResponse::MESSAGE_TYPE ||
|
||||
#endif
|
||||
(this->flags_.should_try_send_immediately && this->get_batch_delay_ms_() == 0)) &&
|
||||
this->helper_->can_write_without_blocking()) {
|
||||
// Now actually encode and send
|
||||
if (creator(entity, this, MAX_BATCH_PACKET_SIZE, true) &&
|
||||
|
@@ -37,6 +37,8 @@ class AnsiStyle(Enum):
|
||||
|
||||
|
||||
def color(col: AnsiFore, msg: str, reset: bool = True) -> str:
|
||||
if col == AnsiFore.KEEP:
|
||||
return msg
|
||||
s = col.value + msg
|
||||
if reset and col:
|
||||
s += AnsiStyle.RESET_ALL.value
|
||||
|
Reference in New Issue
Block a user