mirror of
https://github.com/esphome/esphome.git
synced 2024-12-22 16:37:52 +01:00
Bug/fix internal flag in binary sensor (#1136)
This commit is contained in:
parent
1ccc6e342c
commit
5776e70d7c
@ -131,6 +131,11 @@ def wrap_to_code(name, comp):
|
|||||||
|
|
||||||
|
|
||||||
def write_cpp(config):
|
def write_cpp(config):
|
||||||
|
generate_cpp_contents(config)
|
||||||
|
return write_cpp_file()
|
||||||
|
|
||||||
|
|
||||||
|
def generate_cpp_contents(config):
|
||||||
_LOGGER.info("Generating C++ source...")
|
_LOGGER.info("Generating C++ source...")
|
||||||
|
|
||||||
for name, component, conf in iter_components(CORE.config):
|
for name, component, conf in iter_components(CORE.config):
|
||||||
@ -140,6 +145,8 @@ def write_cpp(config):
|
|||||||
|
|
||||||
CORE.flush_tasks()
|
CORE.flush_tasks()
|
||||||
|
|
||||||
|
|
||||||
|
def write_cpp_file():
|
||||||
writer.write_platformio_project()
|
writer.write_platformio_project()
|
||||||
|
|
||||||
code_s = indent(CORE.cpp_main_section)
|
code_s = indent(CORE.cpp_main_section)
|
||||||
|
@ -224,7 +224,7 @@ BINARY_SENSOR_SCHEMA = cv.MQTT_COMPONENT_SCHEMA.extend({
|
|||||||
def setup_binary_sensor_core_(var, config):
|
def setup_binary_sensor_core_(var, config):
|
||||||
cg.add(var.set_name(config[CONF_NAME]))
|
cg.add(var.set_name(config[CONF_NAME]))
|
||||||
if CONF_INTERNAL in config:
|
if CONF_INTERNAL in config:
|
||||||
cg.add(var.set_internal(CONF_INTERNAL))
|
cg.add(var.set_internal(config[CONF_INTERNAL]))
|
||||||
if CONF_DEVICE_CLASS in config:
|
if CONF_DEVICE_CLASS in config:
|
||||||
cg.add(var.set_device_class(config[CONF_DEVICE_CLASS]))
|
cg.add(var.set_device_class(config[CONF_DEVICE_CLASS]))
|
||||||
if CONF_INVERTED in config:
|
if CONF_INVERTED in config:
|
||||||
|
24
tests/component_tests/binary_sensor/test_binary_sensor.py
Normal file
24
tests/component_tests/binary_sensor/test_binary_sensor.py
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
""" Tests for the binary sensor component """
|
||||||
|
|
||||||
|
from esphome.core import CORE
|
||||||
|
from esphome.config import read_config
|
||||||
|
from esphome.__main__ import generate_cpp_contents
|
||||||
|
|
||||||
|
|
||||||
|
def test_binary_sensor_config_value_internal_set():
|
||||||
|
"""
|
||||||
|
Test that the "internal" config value is correctly set
|
||||||
|
"""
|
||||||
|
# Given
|
||||||
|
CORE.config_path = "tests/component_tests/binary_sensor/test_binary_sensor.yaml"
|
||||||
|
CORE.config = read_config({})
|
||||||
|
|
||||||
|
# When
|
||||||
|
generate_cpp_contents(CORE.config)
|
||||||
|
# print(CORE.cpp_main_section)
|
||||||
|
|
||||||
|
# Then
|
||||||
|
assert "bs_1->set_internal(true);" in CORE.cpp_main_section
|
||||||
|
assert "bs_2->set_internal(false);" in CORE.cpp_main_section
|
||||||
|
|
||||||
|
CORE.reset()
|
18
tests/component_tests/binary_sensor/test_binary_sensor.yaml
Normal file
18
tests/component_tests/binary_sensor/test_binary_sensor.yaml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
esphome:
|
||||||
|
name: test
|
||||||
|
platform: ESP8266
|
||||||
|
board: d1_mini_lite
|
||||||
|
|
||||||
|
binary_sensor:
|
||||||
|
- platform: gpio
|
||||||
|
id: bs_1
|
||||||
|
name: "test bs1"
|
||||||
|
internal: true
|
||||||
|
pin:
|
||||||
|
number: D0
|
||||||
|
- platform: gpio
|
||||||
|
id: bs_2
|
||||||
|
name: "test bs2"
|
||||||
|
internal: false
|
||||||
|
pin:
|
||||||
|
number: D1
|
Loading…
Reference in New Issue
Block a user