mirror of
https://github.com/esphome/esphome.git
synced 2024-11-23 15:38:11 +01:00
commit
e5c9e87fad
5 changed files with 33 additions and 8 deletions
|
@ -372,6 +372,7 @@ bool OTAComponent::readall_(uint8_t *buf, size_t len) {
|
||||||
ssize_t read = this->client_->read(buf + at, len - at);
|
ssize_t read = this->client_->read(buf + at, len - at);
|
||||||
if (read == -1) {
|
if (read == -1) {
|
||||||
if (errno == EAGAIN || errno == EWOULDBLOCK) {
|
if (errno == EAGAIN || errno == EWOULDBLOCK) {
|
||||||
|
App.feed_wdt();
|
||||||
delay(1);
|
delay(1);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -383,6 +384,7 @@ bool OTAComponent::readall_(uint8_t *buf, size_t len) {
|
||||||
} else {
|
} else {
|
||||||
at += read;
|
at += read;
|
||||||
}
|
}
|
||||||
|
App.feed_wdt();
|
||||||
delay(1);
|
delay(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -401,6 +403,7 @@ bool OTAComponent::writeall_(const uint8_t *buf, size_t len) {
|
||||||
ssize_t written = this->client_->write(buf + at, len - at);
|
ssize_t written = this->client_->write(buf + at, len - at);
|
||||||
if (written == -1) {
|
if (written == -1) {
|
||||||
if (errno == EAGAIN || errno == EWOULDBLOCK) {
|
if (errno == EAGAIN || errno == EWOULDBLOCK) {
|
||||||
|
App.feed_wdt();
|
||||||
delay(1);
|
delay(1);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -409,6 +412,7 @@ bool OTAComponent::writeall_(const uint8_t *buf, size_t len) {
|
||||||
} else {
|
} else {
|
||||||
at += written;
|
at += written;
|
||||||
}
|
}
|
||||||
|
App.feed_wdt();
|
||||||
delay(1);
|
delay(1);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
"""Constants used by esphome."""
|
"""Constants used by esphome."""
|
||||||
|
|
||||||
__version__ = "2021.12.0b3"
|
__version__ = "2021.12.0b4"
|
||||||
|
|
||||||
ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_"
|
ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_"
|
||||||
|
|
||||||
|
|
|
@ -45,9 +45,9 @@ OTA_BIG = r""" ____ _______
|
||||||
|
|
||||||
BASE_CONFIG = """esphome:
|
BASE_CONFIG = """esphome:
|
||||||
name: {name}
|
name: {name}
|
||||||
platform: {platform}
|
"""
|
||||||
board: {board}
|
|
||||||
|
|
||||||
|
LOGGER_API_CONFIG = """
|
||||||
# Enable logging
|
# Enable logging
|
||||||
logger:
|
logger:
|
||||||
|
|
||||||
|
@ -55,6 +55,18 @@ logger:
|
||||||
api:
|
api:
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
ESP8266_CONFIG = """
|
||||||
|
esp8266:
|
||||||
|
board: {board}
|
||||||
|
"""
|
||||||
|
|
||||||
|
ESP32_CONFIG = """
|
||||||
|
esp32:
|
||||||
|
board: {board}
|
||||||
|
framework:
|
||||||
|
type: arduino
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
def sanitize_double_quotes(value):
|
def sanitize_double_quotes(value):
|
||||||
return value.replace("\\", "\\\\").replace('"', '\\"')
|
return value.replace("\\", "\\\\").replace('"', '\\"')
|
||||||
|
@ -71,6 +83,14 @@ def wizard_file(**kwargs):
|
||||||
|
|
||||||
config = BASE_CONFIG.format(**kwargs)
|
config = BASE_CONFIG.format(**kwargs)
|
||||||
|
|
||||||
|
config += (
|
||||||
|
ESP8266_CONFIG.format(**kwargs)
|
||||||
|
if kwargs["platform"] == "ESP8266"
|
||||||
|
else ESP32_CONFIG.format(**kwargs)
|
||||||
|
)
|
||||||
|
|
||||||
|
config += LOGGER_API_CONFIG
|
||||||
|
|
||||||
# Configure API
|
# Configure API
|
||||||
if "password" in kwargs:
|
if "password" in kwargs:
|
||||||
config += f" password: \"{kwargs['password']}\"\n"
|
config += f" password: \"{kwargs['password']}\"\n"
|
||||||
|
|
|
@ -9,7 +9,7 @@ pyserial==3.5
|
||||||
platformio==5.2.2 # When updating platformio, also update Dockerfile
|
platformio==5.2.2 # When updating platformio, also update Dockerfile
|
||||||
esptool==3.2
|
esptool==3.2
|
||||||
click==8.0.3
|
click==8.0.3
|
||||||
esphome-dashboard==20211207.0
|
esphome-dashboard==20211208.0
|
||||||
aioesphomeapi==10.6.0
|
aioesphomeapi==10.6.0
|
||||||
zeroconf==0.36.13
|
zeroconf==0.36.13
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ def default_config():
|
||||||
return {
|
return {
|
||||||
"name": "test-name",
|
"name": "test-name",
|
||||||
"platform": "test_platform",
|
"platform": "test_platform",
|
||||||
"board": "test_board",
|
"board": "esp01_1m",
|
||||||
"ssid": "test_ssid",
|
"ssid": "test_ssid",
|
||||||
"psk": "test_psk",
|
"psk": "test_psk",
|
||||||
"password": "",
|
"password": "",
|
||||||
|
@ -105,6 +105,7 @@ def test_wizard_write_sets_platform(default_config, tmp_path, monkeypatch):
|
||||||
If the platform is not explicitly set, use "ESP8266" if the board is one of the ESP8266 boards
|
If the platform is not explicitly set, use "ESP8266" if the board is one of the ESP8266 boards
|
||||||
"""
|
"""
|
||||||
# Given
|
# Given
|
||||||
|
del default_config["platform"]
|
||||||
monkeypatch.setattr(wz, "write_file", MagicMock())
|
monkeypatch.setattr(wz, "write_file", MagicMock())
|
||||||
|
|
||||||
# When
|
# When
|
||||||
|
@ -112,7 +113,7 @@ def test_wizard_write_sets_platform(default_config, tmp_path, monkeypatch):
|
||||||
|
|
||||||
# Then
|
# Then
|
||||||
generated_config = wz.write_file.call_args.args[1]
|
generated_config = wz.write_file.call_args.args[1]
|
||||||
assert f"platform: {default_config['platform']}" in generated_config
|
assert "esp8266:" in generated_config
|
||||||
|
|
||||||
|
|
||||||
def test_wizard_write_defaults_platform_from_board_esp8266(
|
def test_wizard_write_defaults_platform_from_board_esp8266(
|
||||||
|
@ -132,7 +133,7 @@ def test_wizard_write_defaults_platform_from_board_esp8266(
|
||||||
|
|
||||||
# Then
|
# Then
|
||||||
generated_config = wz.write_file.call_args.args[1]
|
generated_config = wz.write_file.call_args.args[1]
|
||||||
assert "platform: ESP8266" in generated_config
|
assert "esp8266:" in generated_config
|
||||||
|
|
||||||
|
|
||||||
def test_wizard_write_defaults_platform_from_board_esp32(
|
def test_wizard_write_defaults_platform_from_board_esp32(
|
||||||
|
@ -152,7 +153,7 @@ def test_wizard_write_defaults_platform_from_board_esp32(
|
||||||
|
|
||||||
# Then
|
# Then
|
||||||
generated_config = wz.write_file.call_args.args[1]
|
generated_config = wz.write_file.call_args.args[1]
|
||||||
assert "platform: ESP32" in generated_config
|
assert "esp32:" in generated_config
|
||||||
|
|
||||||
|
|
||||||
def test_safe_print_step_prints_step_number_and_description(monkeypatch):
|
def test_safe_print_step_prints_step_number_and_description(monkeypatch):
|
||||||
|
|
Loading…
Reference in a new issue