def to_code(config): for template_ in process_lambda(config[CONF_LAMBDA], [], return_type=std_vector.template( text_sensor.TextSensorPtr)): yield rhs = CustomTextSensorConstructor(template_) custom = variable(config[CONF_ID], rhs) for i, conf in enumerate(config[CONF_TEXT_SENSORS]): rhs = custom.Pget_text_sensor(i) add(rhs.set_name(conf[CONF_NAME])) text_sensor.register_text_sensor(rhs, conf)
def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) cg.add_library('CountUpDownTimer', None) yield cg.register_component(var, config) yield text_sensor.register_text_sensor(var, config) parent = yield cg.get_variable(config[CONF_MQTT_PARENT_ID]) cg.add(var.set_parent(parent)) cg.add(var.set_topic(config[CONF_TOPIC])) if CONF_QOS in config: cg.add(var.set_qos(config[CONF_QOS])) for conf in config.get(CONF_ON_END, []): trigger = cg.new_Pvariable(conf[CONF_TRIGGER_ID]) yield cg.register_component(trigger, conf) yield cg.register_parented(trigger, var) cg.add(trigger.set_testState(True)) yield automation.build_automation(trigger, [], conf) for conf in config.get(CONF_ON_START, []): trigger = cg.new_Pvariable(conf[CONF_TRIGGER_ID]) yield cg.register_component(trigger, conf) yield cg.register_parented(trigger, var) cg.add(trigger.set_testState(False)) yield automation.build_automation(trigger, [], conf)
def setup_conf(config, key, hub, funcName): if key in config: conf = config[key] var = cg.new_Pvariable(conf[CONF_ID]) yield text_sensor.register_text_sensor(var, conf) func = getattr(hub, funcName) cg.add(func(var))
def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) yield cg.register_component(var, config) yield text_sensor.register_text_sensor(var, config) parent_var = yield cg.get_variable(config[CONF_OUTPUT_ID]) cg.add(var.set_parent(parent_var))
def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) yield cg.register_component(var, config) heading = yield cg.get_variable(config[CONF_DEP_HEADING]) frequency = yield cg.get_variable(config[CONF_DEP_FREQUENCY]) max_frequency = yield cg.get_variable(config[CONF_DEP_MAX_FREQUENCY]) cg.add(var.set_dependent_sensors(heading, frequency, max_frequency)) if CONF_HEADING in config: sens = yield sensor.new_sensor(config[CONF_HEADING]) cg.add(var.set_heading_sensor(sens)) if CONF_HEADING_COMPASS in config: # sens = yield text_sensor.new_sensor(config[CONF_HEADING_COMPASS]) # cg.add(var.set_heading_compass_sensor(sens)) sens = cg.new_Pvariable(config[CONF_HEADING_COMPASS][CONF_ID]) yield text_sensor.register_text_sensor(sens, config[CONF_HEADING_COMPASS]) cg.add(var.set_heading_compass_sensor(sens)) if CONF_SPEED in config: sens = yield sensor.new_sensor(config[CONF_SPEED]) cg.add(var.set_speed_sensor(sens)) if CONF_MAX_SPEED in config: sens = yield sensor.new_sensor(config[CONF_MAX_SPEED]) cg.add(var.set_max_speed_sensor(sens))
def to_code(config): paren = yield cg.get_variable(config[CONF_HUB_ID]) var = cg.new_Pvariable(config[CONF_ID]) yield text_sensor.register_text_sensor(var, config) cg.add(paren.register_text_sensor(var))
def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) yield cg.register_component(var, config) yield text_sensor.register_text_sensor(var, config) if CONF_LAMBDA in config: template_ = yield cg.process_lambda(config[CONF_LAMBDA], [], return_type=cg.optional.template(cg.std_string)) cg.add(var.set_template(template_))
def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) yield cg.register_component(var, config) yield text_sensor.register_text_sensor(var, config) parent = yield cg.get_variable(config[CONF_MQTT_PARENT_ID]) cg.add(var.set_parent(parent)) cg.add(var.set_topic(config[CONF_TOPIC])) cg.add(var.set_qos(config[CONF_QOS]))
def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) yield cg.register_component(var, config) yield text_sensor.register_text_sensor(var, config) paren = yield cg.get_variable(config[CONF_SUN_ID]) cg.add(var.set_parent(paren)) cg.add(var.set_sunrise(SUN_TYPES[config[CONF_TYPE]])) cg.add(var.set_elevation(config[CONF_ELEVATION])) cg.add(var.set_format(config[CONF_FORMAT]))
def to_code(config): template_ = yield cg.process_lambda(config[CONF_LAMBDA], [], return_type=cg.std_vector.template( text_sensor.TextSensorPtr)) rhs = CustomTextSensorConstructor(template_) var = cg.variable(config[CONF_ID], rhs) for i, conf in enumerate(config[CONF_TEXT_SENSORS]): text = cg.Pvariable(conf[CONF_ID], var.get_text_sensor(i)) yield text_sensor.register_text_sensor(text, conf)
def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) yield cg.register_component(var, config) yield text_sensor.register_text_sensor(var, config) top_pin = yield cg.gpio_pin_expression(config[CONF_TOP_PIN]) cg.add(var.set_top_pin(top_pin)) bottom_pin = yield cg.gpio_pin_expression(config[CONF_BOTTOM_PIN]) cg.add(var.set_bottom_pin(bottom_pin)) cg.add(var.set_debounce_duration(config[CONF_DEBOUNCE]))
def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) yield cg.register_component(var, config) yield text_sensor.register_text_sensor(var, config) keypad = yield cg.get_variable(config[CONF_KEYPAD_ID]) cg.add(keypad.register_listener(var)) if CONF_MAX_LENGTH in config: cg.add(var.set_max_length(config[CONF_MAX_LENGTH])) if CONF_END_KEYS in config: cg.add(var.set_end_keys(config[CONF_END_KEYS])) if CONF_BACK_KEYS in config: cg.add(var.set_back_keys(config[CONF_BACK_KEYS])) if CONF_ALLOWED_KEYS in config: cg.add(var.set_allowed_keys(config[CONF_ALLOWED_KEYS])) if CONF_ON_PROGRESS in config: yield automation.build_automation(var.get_progress_trigger(), [(cg.std_string, 'x')], config[CONF_ON_PROGRESS])
def calibrate_linear_filter_to_code(config, filter_id): x = [conf[CONF_FROM] for conf in config[CONF_DATAPOINTS]] y = [conf[CONF_TO] for conf in config[CONF_DATAPOINTS]] k, b = fit_linear(x, y) linear_filter = yield cg.new_Pvariable(filter_id, k, b) if (config.get(CONF_CALIBRATION_SENSOR)): cg.add_define('USE_MQTT_CALIBRATION') CORE.extra_source_files.update({ Path('esphome/components/mqtt_subscribe/text_sensor/mqtt_subscribe_text_sensor.h'): loader.SourceFile('esphome.components.mqtt_subscribe.text_sensor', 'mqtt_subscribe_text_sensor.h') }) CORE.extra_source_files.update({ Path('esphome/components/mqtt_subscribe/text_sensor/mqtt_subscribe_text_sensor.cpp'): loader.SourceFile('esphome.components.mqtt_subscribe.text_sensor', 'mqtt_subscribe_text_sensor.cpp') }) # TODO: This basically duplicates text_sensor.mqtt_subscribe. Should find a # way to either define to_code in such a way that it's callable from here. var = cg.new_Pvariable(config[CONF_CALIBRATION_SENSOR][CONF_ID]) yield cg.register_component(var, config[CONF_CALIBRATION_SENSOR]) yield register_text_sensor(var, config[CONF_CALIBRATION_SENSOR]) parent = yield cg.get_variable( config[CONF_CALIBRATION_SENSOR][CONF_MQTT_PARENT_ID]) cg.add(var.set_parent(parent)) cg.add(var.set_topic(config[CONF_CALIBRATION_SENSOR][CONF_TOPIC])) cg.add(var.set_qos(config[CONF_CALIBRATION_SENSOR][CONF_QOS])) cg.add(linear_filter.set_calibration_sensor(var)) if (config.get(CONF_RAW_SENSOR)): cg.add_define('USE_RAW_SENSOR') raw_sensor = yield new_sensor(config.get(CONF_RAW_SENSOR)) cg.add(linear_filter.set_raw_sensor(raw_sensor)) yield linear_filter
def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) yield cg.register_component(var, config) yield GCodeQueue.register_gcode_analyzer(var, config) yield text_sensor.register_text_sensor(var, config)
def setup_conf(config, key, klass): if key in config: conf = config[key] rhs = App.register_component(klass.new(conf[CONF_NAME])) sensor_ = Pvariable(conf[CONF_ID], rhs) text_sensor.register_text_sensor(sensor_, conf)
def setup_conf(config, key): if key in config: conf = config[key] var = cg.new_Pvariable(conf[CONF_ID]) yield cg.register_component(var, conf) yield text_sensor.register_text_sensor(var, conf)
def to_code(config): var = cg.new_Pvariable(config[CONF_ID], config[CONF_TAG_NAME]) yield cg.register_component(var, config) yield text_sensor.register_text_sensor(var, config) teleinfo = yield cg.get_variable(config[CONF_TELEINFO_ID]) cg.add(teleinfo.register_teleinfo_listener(var))
def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) yield text_sensor.register_text_sensor(var, config) yield cg.register_component(var, config) cg.add(var.set_hide_timestamp(config[CONF_HIDE_TIMESTAMP]))
def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) cg.add_library('CountUpDownTimer', None) yield cg.register_component(var, config) yield text_sensor.register_text_sensor(var, config)
def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) yield cg.register_component(var, config) yield esp32_ble_tracker.register_ble_device(var, config) yield text_sensor.register_text_sensor(var, config)
def setup_conf(config, key, hub): if key in config: conf = config[key] sens = cg.new_Pvariable(conf[CONF_ID]) yield text_sensor.register_text_sensor(sens, conf) cg.add(getattr(hub, f"set_{key}_text_sensor")(sens))
def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) yield cg.register_component(var, config) yield text_sensor.register_text_sensor(var, config) cg.add(var.set_entity_id(config[CONF_ENTITY_ID]))
def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) yield cg.register_component(var, config) yield text_sensor.register_text_sensor(var, config) yield uart.register_uart_device(var, config)