mirror of
https://github.com/Threnklyn/esphome-dev.git
synced 2026-05-27 00:17:22 +02:00
Raise minimum python version to 3.8 (#3176)
This commit is contained in:
@@ -43,7 +43,7 @@ async def to_code(config):
|
||||
await lcd_base.setup_lcd_display(var, config)
|
||||
pins_ = []
|
||||
for conf in config[CONF_DATA_PINS]:
|
||||
pins_.append((await cg.gpio_pin_expression(conf)))
|
||||
pins_.append(await cg.gpio_pin_expression(conf))
|
||||
cg.add(var.set_data_pins(*pins_))
|
||||
enable = await cg.gpio_pin_expression(config[CONF_ENABLE_PIN])
|
||||
cg.add(var.set_enable_pin(enable))
|
||||
|
||||
@@ -847,7 +847,7 @@ async def rc_switch_raw_action(var, config, args):
|
||||
config[CONF_PROTOCOL], args, RCSwitchBase, to_exp=build_rc_switch_protocol
|
||||
)
|
||||
cg.add(var.set_protocol(proto))
|
||||
cg.add(var.set_code((await cg.templatable(config[CONF_CODE], args, cg.std_string))))
|
||||
cg.add(var.set_code(await cg.templatable(config[CONF_CODE], args, cg.std_string)))
|
||||
|
||||
|
||||
@register_binary_sensor(
|
||||
@@ -868,13 +868,11 @@ async def rc_switch_type_a_action(var, config, args):
|
||||
config[CONF_PROTOCOL], args, RCSwitchBase, to_exp=build_rc_switch_protocol
|
||||
)
|
||||
cg.add(var.set_protocol(proto))
|
||||
cg.add(var.set_group(await cg.templatable(config[CONF_GROUP], args, cg.std_string)))
|
||||
cg.add(
|
||||
var.set_group((await cg.templatable(config[CONF_GROUP], args, cg.std_string)))
|
||||
var.set_device(await cg.templatable(config[CONF_DEVICE], args, cg.std_string))
|
||||
)
|
||||
cg.add(
|
||||
var.set_device((await cg.templatable(config[CONF_DEVICE], args, cg.std_string)))
|
||||
)
|
||||
cg.add(var.set_state((await cg.templatable(config[CONF_STATE], args, bool))))
|
||||
cg.add(var.set_state(await cg.templatable(config[CONF_STATE], args, bool)))
|
||||
|
||||
|
||||
@register_binary_sensor(
|
||||
@@ -897,13 +895,9 @@ async def rc_switch_type_b_action(var, config, args):
|
||||
config[CONF_PROTOCOL], args, RCSwitchBase, to_exp=build_rc_switch_protocol
|
||||
)
|
||||
cg.add(var.set_protocol(proto))
|
||||
cg.add(
|
||||
var.set_address((await cg.templatable(config[CONF_ADDRESS], args, cg.uint8)))
|
||||
)
|
||||
cg.add(
|
||||
var.set_channel((await cg.templatable(config[CONF_CHANNEL], args, cg.uint8)))
|
||||
)
|
||||
cg.add(var.set_state((await cg.templatable(config[CONF_STATE], args, bool))))
|
||||
cg.add(var.set_address(await cg.templatable(config[CONF_ADDRESS], args, cg.uint8)))
|
||||
cg.add(var.set_channel(await cg.templatable(config[CONF_CHANNEL], args, cg.uint8)))
|
||||
cg.add(var.set_state(await cg.templatable(config[CONF_STATE], args, bool)))
|
||||
|
||||
|
||||
@register_binary_sensor(
|
||||
@@ -932,11 +926,11 @@ async def rc_switch_type_c_action(var, config, args):
|
||||
)
|
||||
cg.add(var.set_protocol(proto))
|
||||
cg.add(
|
||||
var.set_family((await cg.templatable(config[CONF_FAMILY], args, cg.std_string)))
|
||||
var.set_family(await cg.templatable(config[CONF_FAMILY], args, cg.std_string))
|
||||
)
|
||||
cg.add(var.set_group((await cg.templatable(config[CONF_GROUP], args, cg.uint8))))
|
||||
cg.add(var.set_device((await cg.templatable(config[CONF_DEVICE], args, cg.uint8))))
|
||||
cg.add(var.set_state((await cg.templatable(config[CONF_STATE], args, bool))))
|
||||
cg.add(var.set_group(await cg.templatable(config[CONF_GROUP], args, cg.uint8)))
|
||||
cg.add(var.set_device(await cg.templatable(config[CONF_DEVICE], args, cg.uint8)))
|
||||
cg.add(var.set_state(await cg.templatable(config[CONF_STATE], args, bool)))
|
||||
|
||||
|
||||
@register_binary_sensor(
|
||||
@@ -959,11 +953,9 @@ async def rc_switch_type_d_action(var, config, args):
|
||||
config[CONF_PROTOCOL], args, RCSwitchBase, to_exp=build_rc_switch_protocol
|
||||
)
|
||||
cg.add(var.set_protocol(proto))
|
||||
cg.add(
|
||||
var.set_group((await cg.templatable(config[CONF_GROUP], args, cg.std_string)))
|
||||
)
|
||||
cg.add(var.set_device((await cg.templatable(config[CONF_DEVICE], args, cg.uint8))))
|
||||
cg.add(var.set_state((await cg.templatable(config[CONF_STATE], args, bool))))
|
||||
cg.add(var.set_group(await cg.templatable(config[CONF_GROUP], args, cg.std_string)))
|
||||
cg.add(var.set_device(await cg.templatable(config[CONF_DEVICE], args, cg.uint8)))
|
||||
cg.add(var.set_state(await cg.templatable(config[CONF_STATE], args, bool)))
|
||||
|
||||
|
||||
@register_trigger("rc_switch", RCSwitchTrigger, RCSwitchData)
|
||||
|
||||
@@ -36,31 +36,25 @@ def validate_temperature_multipliers(value):
|
||||
or CONF_TARGET_TEMPERATURE_MULTIPLIER in value
|
||||
):
|
||||
raise cv.Invalid(
|
||||
(
|
||||
f"Cannot have {CONF_TEMPERATURE_MULTIPLIER} at the same time as "
|
||||
f"{CONF_CURRENT_TEMPERATURE_MULTIPLIER} and "
|
||||
f"{CONF_TARGET_TEMPERATURE_MULTIPLIER}"
|
||||
)
|
||||
f"Cannot have {CONF_TEMPERATURE_MULTIPLIER} at the same time as "
|
||||
f"{CONF_CURRENT_TEMPERATURE_MULTIPLIER} and "
|
||||
f"{CONF_TARGET_TEMPERATURE_MULTIPLIER}"
|
||||
)
|
||||
if (
|
||||
CONF_CURRENT_TEMPERATURE_MULTIPLIER in value
|
||||
and CONF_TARGET_TEMPERATURE_MULTIPLIER not in value
|
||||
):
|
||||
raise cv.Invalid(
|
||||
(
|
||||
f"{CONF_TARGET_TEMPERATURE_MULTIPLIER} required if using "
|
||||
f"{CONF_CURRENT_TEMPERATURE_MULTIPLIER}"
|
||||
)
|
||||
f"{CONF_TARGET_TEMPERATURE_MULTIPLIER} required if using "
|
||||
f"{CONF_CURRENT_TEMPERATURE_MULTIPLIER}"
|
||||
)
|
||||
if (
|
||||
CONF_TARGET_TEMPERATURE_MULTIPLIER in value
|
||||
and CONF_CURRENT_TEMPERATURE_MULTIPLIER not in value
|
||||
):
|
||||
raise cv.Invalid(
|
||||
(
|
||||
f"{CONF_CURRENT_TEMPERATURE_MULTIPLIER} required if using "
|
||||
f"{CONF_TARGET_TEMPERATURE_MULTIPLIER}"
|
||||
)
|
||||
f"{CONF_CURRENT_TEMPERATURE_MULTIPLIER} required if using "
|
||||
f"{CONF_TARGET_TEMPERATURE_MULTIPLIER}"
|
||||
)
|
||||
keys = (
|
||||
CONF_TEMPERATURE_MULTIPLIER,
|
||||
@@ -76,18 +70,14 @@ def validate_active_state_values(value):
|
||||
if CONF_ACTIVE_STATE_DATAPOINT not in value:
|
||||
if CONF_ACTIVE_STATE_COOLING_VALUE in value:
|
||||
raise cv.Invalid(
|
||||
(
|
||||
f"{CONF_ACTIVE_STATE_DATAPOINT} required if using "
|
||||
f"{CONF_ACTIVE_STATE_COOLING_VALUE}"
|
||||
)
|
||||
f"{CONF_ACTIVE_STATE_DATAPOINT} required if using "
|
||||
f"{CONF_ACTIVE_STATE_COOLING_VALUE}"
|
||||
)
|
||||
else:
|
||||
if value[CONF_SUPPORTS_COOL] and CONF_ACTIVE_STATE_COOLING_VALUE not in value:
|
||||
raise cv.Invalid(
|
||||
(
|
||||
f"{CONF_ACTIVE_STATE_COOLING_VALUE} required if using "
|
||||
f"{CONF_ACTIVE_STATE_DATAPOINT} and device supports cooling"
|
||||
)
|
||||
f"{CONF_ACTIVE_STATE_COOLING_VALUE} required if using "
|
||||
f"{CONF_ACTIVE_STATE_DATAPOINT} and device supports cooling"
|
||||
)
|
||||
return value
|
||||
|
||||
|
||||
@@ -77,11 +77,11 @@ async def to_code(config):
|
||||
if CONF_CSS_INCLUDE in config:
|
||||
cg.add_define("WEBSERVER_CSS_INCLUDE")
|
||||
path = CORE.relative_config_path(config[CONF_CSS_INCLUDE])
|
||||
with open(file=path, mode="r", encoding="utf-8") as myfile:
|
||||
with open(file=path, encoding="utf-8") as myfile:
|
||||
cg.add(var.set_css_include(myfile.read()))
|
||||
if CONF_JS_INCLUDE in config:
|
||||
cg.add_define("WEBSERVER_JS_INCLUDE")
|
||||
path = CORE.relative_config_path(config[CONF_JS_INCLUDE])
|
||||
with open(file=path, mode="r", encoding="utf-8") as myfile:
|
||||
with open(file=path, encoding="utf-8") as myfile:
|
||||
cg.add(var.set_js_include(myfile.read()))
|
||||
cg.add(var.set_include_internal(config[CONF_INCLUDE_INTERNAL]))
|
||||
|
||||
@@ -225,11 +225,11 @@ def _validate(config):
|
||||
if CONF_MANUAL_IP in config:
|
||||
use_address = str(config[CONF_MANUAL_IP][CONF_STATIC_IP])
|
||||
elif CONF_NETWORKS in config:
|
||||
ips = set(
|
||||
ips = {
|
||||
str(net[CONF_MANUAL_IP][CONF_STATIC_IP])
|
||||
for net in config[CONF_NETWORKS]
|
||||
if CONF_MANUAL_IP in net
|
||||
)
|
||||
}
|
||||
if len(ips) > 1:
|
||||
raise cv.Invalid(
|
||||
"Must specify use_address when using multiple static IP addresses."
|
||||
|
||||
Reference in New Issue
Block a user