def write_cpp(config): _LOGGER.info("Generating C++ source...") CORE.add_job(core_config.to_code, config[CONF_PI4HOME], domain='pi4home') for domain in PRE_INITIALIZE: if domain == CONF_PI4HOME or domain not in config: continue CORE.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 CORE.add_job(component.to_code, conf, domain=domain) CORE.flush_tasks() add(RawStatement('')) add(RawStatement('')) all_code = [] for exp in CORE.expressions: if not config[CONF_PI4HOME][CONF_USE_CUSTOM_CODE]: if isinstance(exp, Expression) and not exp.required: continue all_code.append(text_type(statement(exp))) writer.write_platformio_project() code_s = indent('\n'.join(line.rstrip() for line in all_code)) writer.write_cpp(code_s) return 0
def setup_time(time_var, config): CORE.add_job(setup_time_core_, time_var, config)
def setup_light(light_obj, config): light_var = Pvariable(config[CONF_ID], light_obj, has_side_effects=False) CORE.add_job(setup_light_core_, light_var, config)
def register_output(var, config): output_var = Pvariable(config[CONF_ID], var, has_side_effects=True) CORE.add_job(setup_output_platform_, output_var, config)
def setup_output_platform(obj, config, skip_power_supply=False): CORE.add_job(setup_output_platform_, obj, config, skip_power_supply)
def setup_stepper(stepper_var, config): CORE.add_job(setup_stepper_core_, stepper_var, config)
def setup_fan(fan_obj, config): fan_var = Pvariable(config[CONF_ID], fan_obj, has_side_effects=False) CORE.add_job(setup_fan_core_, fan_var, config)
def build_automations(trigger, args, config): CORE.add_job(build_automation_, trigger, args, config)
def register_text_sensor(var, config): if not CORE.has_id(config[CONF_ID]): var = Pvariable(config[CONF_ID], var, has_side_effects=True) add(App.register_text_sensor(var)) CORE.add_job(setup_text_sensor_core_, var, config)
def setup_text_sensor(text_sensor_obj, config): if not CORE.has_id(config[CONF_ID]): text_sensor_obj = Pvariable(config[CONF_ID], text_sensor_obj, has_side_effects=True) CORE.add_job(setup_text_sensor_core_, text_sensor_obj, config)
def register_binary_sensor(var, config): binary_sensor_var = Pvariable(config[CONF_ID], var, has_side_effects=True) add(App.register_binary_sensor(binary_sensor_var)) CORE.add_job(setup_binary_sensor_core_, binary_sensor_var, config)
def setup_binary_sensor(binary_sensor_obj, config): if not CORE.has_id(config[CONF_ID]): binary_sensor_obj = Pvariable(config[CONF_ID], binary_sensor_obj, has_side_effects=True) CORE.add_job(setup_binary_sensor_core_, binary_sensor_obj, config)
def setup_cover(cover_obj, config): CORE.add_job(setup_cover_core_, cover_obj, config)
def setup_display(display_var, config): CORE.add_job(setup_display_core_, display_var, config)
def register_switch(var, config): switch_var = Pvariable(config[CONF_ID], var, has_side_effects=True) add(App.register_switch(switch_var)) CORE.add_job(setup_switch_core_, switch_var, config)
def setup_switch(switch_obj, config): if not CORE.has_id(config[CONF_ID]): switch_obj = Pvariable(config[CONF_ID], switch_obj, has_side_effects=True) CORE.add_job(setup_switch_core_, switch_obj, config)