1
0
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:
Samuel Sieb
2024-11-01 02:54:34 -07:00
committed by GitHub
parent cefbfb75bd
commit 77bb46ff3b
5 changed files with 25 additions and 15 deletions

View File

@@ -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: