Пример #1
0
def setup_text_sensor(text_sensor_obj, mqtt_obj, config):
    sensor_var = Pvariable(config[CONF_ID],
                           text_sensor_obj,
                           has_side_effects=False)
    mqtt_var = Pvariable(config[CONF_MQTT_ID],
                         mqtt_obj,
                         has_side_effects=False)
    add_job(setup_text_sensor_core_, sensor_var, mqtt_var, config)
Пример #2
0
def setup_binary_sensor(binary_sensor_obj, mqtt_obj, config):
    binary_sensor_var = Pvariable(config[CONF_ID],
                                  binary_sensor_obj,
                                  has_side_effects=False)
    mqtt_var = Pvariable(config[CONF_MQTT_ID],
                         mqtt_obj,
                         has_side_effects=False)
    add_job(setup_binary_sensor_core_, binary_sensor_var, mqtt_var, config)
Пример #3
0
def write_cpp(config):
    _LOGGER.info("Generating C++ source...")

    add_job(core_to_code, config[CONF_ESPHOMEYAML], domain='esphomeyaml')
    for domain in PRE_INITIALIZE:
        if domain == CONF_ESPHOMEYAML or domain not in config:
            continue
        add_job(get_component(domain).to_code, config[domain], domain=domain)

    for domain, component, conf in iter_components(config):
        if domain in PRE_INITIALIZE or not hasattr(component, 'to_code'):
            continue
        add_job(component.to_code, conf, domain=domain)

    flush_tasks()
    add(RawStatement(''))
    add(RawStatement(''))
    all_code = []
    for exp in _EXPRESSIONS:
        if core.SIMPLIFY:
            if isinstance(exp, Expression) and not exp.required:
                continue
            if isinstance(exp, AssignmentExpression) and not exp.obj.required:
                if not exp.has_side_effects():
                    continue
                exp = exp.rhs
        all_code.append(unicode(statement(exp)))

    writer.write_platformio_project(config, get_base_path(config))

    code_s = indent('\n'.join(line.rstrip() for line in all_code))
    cpp_path = os.path.join(get_base_path(config), 'src', 'main.cpp')
    writer.write_cpp(code_s, cpp_path)
    return 0
Пример #4
0
def setup_stepper(stepper_var, config):
    add_job(setup_stepper_core_, stepper_var, config)
Пример #5
0
def setup_light(light_obj, mqtt_obj, config):
    light_var = Pvariable(config[CONF_ID], light_obj, has_side_effects=False)
    mqtt_var = Pvariable(config[CONF_MQTT_ID], mqtt_obj, has_side_effects=False)
    add_job(setup_light_core_, light_var, mqtt_var, config)
Пример #6
0
def setup_time(time_var, config):
    add_job(setup_time_core_, time_var, config)
Пример #7
0
def register_text_sensor(var, config):
    text_sensor_var = Pvariable(config[CONF_ID], var, has_side_effects=True)
    rhs = App.register_text_sensor(text_sensor_var)
    mqtt_var = Pvariable(config[CONF_MQTT_ID], rhs, has_side_effects=True)
    add_job(setup_text_sensor_core_, text_sensor_var, mqtt_var, config)
Пример #8
0
def build_automation(trigger, arg_type, config):
    add_job(build_automation_, trigger, arg_type, config)
Пример #9
0
def setup_display(display_var, config):
    add_job(setup_display_core_, display_var, config)
Пример #10
0
def setup_output_platform(obj, config, skip_power_supply=False):
    add_job(setup_output_platform_, obj, config, skip_power_supply)