Bug/fix internal flag in binary sensor (#1136)

This commit is contained in:
Peter Kuehne 2020-07-14 16:59:03 +01:00 committed by GitHub
parent 1ccc6e342c
commit 5776e70d7c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 50 additions and 1 deletions

View file

@ -131,6 +131,11 @@ def wrap_to_code(name, comp):
def write_cpp(config):
generate_cpp_contents(config)
return write_cpp_file()
def generate_cpp_contents(config):
_LOGGER.info("Generating C++ source...")
for name, component, conf in iter_components(CORE.config):
@ -140,6 +145,8 @@ def write_cpp(config):
CORE.flush_tasks()
def write_cpp_file():
writer.write_platformio_project()
code_s = indent(CORE.cpp_main_section)

View file

@ -224,7 +224,7 @@ BINARY_SENSOR_SCHEMA = cv.MQTT_COMPONENT_SCHEMA.extend({
def setup_binary_sensor_core_(var, config):
cg.add(var.set_name(config[CONF_NAME]))
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:
cg.add(var.set_device_class(config[CONF_DEVICE_CLASS]))
if CONF_INVERTED in config:

View 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()

View 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