diff --git a/esphomeyaml/components/binary_sensor/homeassistant.py b/esphomeyaml/components/binary_sensor/homeassistant.py new file mode 100644 index 0000000000..e3f46a9dc0 --- /dev/null +++ b/esphomeyaml/components/binary_sensor/homeassistant.py @@ -0,0 +1,30 @@ +import voluptuous as vol + +from esphomeyaml.components import binary_sensor +import esphomeyaml.config_validation as cv +from esphomeyaml.const import CONF_ENTITY_ID, CONF_ID, CONF_NAME +from esphomeyaml.cpp_generator import Pvariable +from esphomeyaml.cpp_types import App + +DEPENDENCIES = ['api'] + +HomeassistantBinarySensor = binary_sensor.binary_sensor_ns.class_('HomeassistantBinarySensor', + binary_sensor.BinarySensor) + +PLATFORM_SCHEMA = cv.nameable(binary_sensor.BINARY_SENSOR_PLATFORM_SCHEMA.extend({ + cv.GenerateID(): cv.declare_variable_id(HomeassistantBinarySensor), + vol.Required(CONF_ENTITY_ID): cv.entity_id, +})) + + +def to_code(config): + rhs = App.make_homeassistant_binary_sensor(config[CONF_NAME], config[CONF_ENTITY_ID]) + subs = Pvariable(config[CONF_ID], rhs) + binary_sensor.setup_binary_sensor(subs, config) + + +BUILD_FLAGS = '-DUSE_HOMEASSISTANT_BINARY_SENSOR' + + +def to_hass_config(data, config): + return binary_sensor.core_to_hass_config(data, config) diff --git a/tests/test2.yaml b/tests/test2.yaml index c079cb6d5b..0e9ad3c4eb 100644 --- a/tests/test2.yaml +++ b/tests/test2.yaml @@ -158,6 +158,9 @@ binary_sensor: - platform: apds9960 direction: right name: APDS9960 Right + - platform: homeassistant + entity_id: binary_sensor.hello_world + id: ha_hello_world_binary esp32_ble_tracker: scan_interval: 300s