mirror of
https://github.com/esphome/esphome.git
synced 2025-09-08 22:32:21 +01:00
handle bad pin schemas (#7711)
Co-authored-by: Samuel Sieb <samuel@sieb.net>
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
import logging
|
||||
from dataclasses import dataclass
|
||||
import logging
|
||||
|
||||
from esphome import pins
|
||||
import esphome.codegen as cg
|
||||
import esphome.config_validation as cv
|
||||
from esphome.const import (
|
||||
CONF_ANALOG,
|
||||
CONF_ID,
|
||||
@@ -14,10 +17,7 @@ from esphome.const import (
|
||||
CONF_PULLUP,
|
||||
PLATFORM_ESP8266,
|
||||
)
|
||||
from esphome import pins
|
||||
from esphome.core import CORE, coroutine_with_priority
|
||||
import esphome.config_validation as cv
|
||||
import esphome.codegen as cg
|
||||
|
||||
from . import boards
|
||||
from .const import KEY_BOARD, KEY_ESP8266, KEY_PIN_INITIAL_STATES, esp8266_ns
|
||||
@@ -48,8 +48,10 @@ def _translate_pin(value):
|
||||
"This variable only supports pin numbers, not full pin schemas "
|
||||
"(with inverted and mode)."
|
||||
)
|
||||
if isinstance(value, int):
|
||||
if isinstance(value, int) and not isinstance(value, bool):
|
||||
return value
|
||||
if not isinstance(value, str):
|
||||
raise cv.Invalid(f"Invalid pin number: {value}")
|
||||
try:
|
||||
return int(value)
|
||||
except ValueError:
|
||||
|
Reference in New Issue
Block a user