mirror of
https://github.com/esphome/esphome.git
synced 2024-11-21 22:48:10 +01:00
Bug/fix internal flag in binary sensor (#1136)
This commit is contained in:
parent
1ccc6e342c
commit
5776e70d7c
4 changed files with 50 additions and 1 deletions
|
@ -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)
|
||||
|
|
|
@ -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:
|
||||
|
|
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 a new issue