Ejemplo n.º 1
0
def send_action_to_code(config, action_id, template_arg, args):
    component = yield cg.get_variable(CORE.config[c.CONF_WIFI_NOW][ehc.CONF_ID])
    var = cg.new_Pvariable(action_id, template_arg, component)
    if c.CONF_PEERID in config:
        peer = yield cg.get_variable(config[c.CONF_PEERID])
        cg.add(var.set_peer(peer))
    if ehc.CONF_SERVICE in config:
        cg.add(var.set_servicekey(get_md5sum_hexint(config[ehc.CONF_SERVICE], 7)))
    if c.CONF_SERVICEKEY in config:
        cg.add(var.set_servicekey(*config[c.CONF_SERVICEKEY].to_hex_int()))
    if config.get(c.CONF_PAYLOADS):
        payload_getters = yield build_payload_getter_list(
            config[c.CONF_PAYLOADS],
            template_arg, args
            )
        cg.add(var.set_payload_getters(payload_getters))
    ActionPtr = t.SendAction.template(template_arg).operator('ptr')
    args = args + [(ActionPtr, 'sendaction')]
    template_arg = cg.TemplateArguments(*[arg[0] for arg in args])
    if c.CONF_ON_FAIL in config:
        actions = yield automation.build_action_list(config[c.CONF_ON_FAIL], template_arg, args)
        cg.add(var.add_on_fail(actions))
    if c.CONF_ON_SUCCESS in config:
        actions = yield automation.build_action_list(config[c.CONF_ON_SUCCESS], template_arg, args)
        cg.add(var.add_on_success(actions))
    yield var
Ejemplo n.º 2
0
def to_code(config):
    var = cg.new_Pvariable(config[CONF_ID])
    yield cg.register_component(var, config)
    yield cover.register_cover(var, config)

    yield automation.build_automation(
        var.get_stop_trigger(), [], config[CONF_STOP_ACTION]
    )

    bin = yield cg.get_variable(config[CONF_OPEN_ENDSTOP])
    cg.add(var.set_open_endstop(bin))
    cg.add(var.set_open_duration(config[CONF_OPEN_DURATION]))
    yield automation.build_automation(
        var.get_open_trigger(), [], config[CONF_OPEN_ACTION]
    )

    bin = yield cg.get_variable(config[CONF_CLOSE_ENDSTOP])
    cg.add(var.set_close_endstop(bin))
    cg.add(var.set_close_duration(config[CONF_CLOSE_DURATION]))
    yield automation.build_automation(
        var.get_close_trigger(), [], config[CONF_CLOSE_ACTION]
    )

    if CONF_MAX_DURATION in config:
        cg.add(var.set_max_duration(config[CONF_MAX_DURATION]))
Ejemplo n.º 3
0
def to_code(config):
    var = cg.new_Pvariable(config[CONF_ID])
    yield cg.register_component(var, config)
    yield i2c.register_i2c_device(var, config)

    if CONF_ECO2 in config:
        sens = yield sensor.new_sensor(config[CONF_ECO2])
        cg.add(var.set_eco2_sensor(sens))

    if CONF_TVOC in config:
        sens = yield sensor.new_sensor(config[CONF_TVOC])
        cg.add(var.set_tvoc_sensor(sens))

    if CONF_BASELINE in config:
        baseline_config = config[CONF_BASELINE]
        cg.add(var.set_eco2_baseline(baseline_config[CONF_ECO2_BASELINE]))
        cg.add(var.set_tvoc_baseline(baseline_config[CONF_TVOC_BASELINE]))

    if CONF_COMPENSATION in config:
        compensation_config = config[CONF_COMPENSATION]
        sens = yield cg.get_variable(compensation_config[CONF_HUMIDITY_SOURCE])
        cg.add(var.set_humidity_sensor(sens))
        sens = yield cg.get_variable(
            compensation_config[CONF_TEMPERATURE_SOURCE])
        cg.add(var.set_temperature_sensor(sens))
Ejemplo n.º 4
0
def to_code(config):
    var = cg.new_Pvariable(config[CONF_ID])
    yield cg.register_component(var, config)

    for conf in config.get(CONF_PLUGS, []):
        state = yield cg.get_variable(conf[CONF_STATE])

        current = 0
        if CONF_CURRENT in conf:
            current = yield cg.get_variable(conf[CONF_CURRENT])

        voltage = 0
        if CONF_VOLTAGE in conf:
            voltage = yield cg.get_variable(conf[CONF_VOLTAGE])

        total = 0
        if CONF_TOTAL in conf:
            total = yield cg.get_variable(conf[CONF_TOTAL])

        plug = cg.StructInitializer(
            Plug,
            ('current_sensor', current),
            ('voltage_sensor', voltage),
            ('total_sensor', total),
            ('state_switch', state)
        )

        cg.add(var.add_plug(plug))
Ejemplo n.º 5
0
def to_code(config):
    sender = yield cg.get_variable(config[CONF_GCODE_SENDER])
    queue = yield cg.get_variable(config[CONF_GCODE_QUEUE])

    var = cg.new_Pvariable(config[CONF_ID], sender, queue)
    yield cg.register_component(var, config)
    yield uart.register_uart_device(var, config)
Ejemplo n.º 6
0
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))
Ejemplo n.º 7
0
def to_code(config):
    var = cg.new_Pvariable(config[CONF_ID])
    yield cg.register_component(var, config)
    yield climate.register_climate(var, config)

    cg.add(var.set_address(config[CONF_MAC_ADDRESS].as_hex))

    time_ = yield cg.get_variable(config[CONF_TIME_ID])
    cg.add(var.set_time(time_))

    if CONF_TEMP in config:
        sens = yield cg.get_variable(config[CONF_TEMP])
        cg.add(var.set_temperature_sensor(sens))

    if CONF_VALVE in config:
        sens = yield sensor.new_sensor(config[CONF_VALVE])
        cg.add(var.set_valve(sens))

    if CONF_ECO in config:
        sens = yield sensor.new_sensor(config[CONF_ECO])
        cg.add(var.set_eco(sens))

    if CONF_COMFORT in config:
        sens = yield sensor.new_sensor(config[CONF_COMFORT])
        cg.add(var.set_comfort(sens))

    cg.add(var.set_offset(config[CONF_OFFSET]))
Ejemplo n.º 8
0
def to_code(config):
    var = cg.new_Pvariable(config[CONF_ID])
    yield cg.register_component(var, config)
    yield climate.register_climate(var, config)

    sens = yield cg.get_variable(config[CONF_SENSOR])
    cg.add(var.set_sensor(sens))

    if CONF_COOL_OUTPUT in config:
        out = yield cg.get_variable(config[CONF_COOL_OUTPUT])
        cg.add(var.set_cool_output(out))
    if CONF_HEAT_OUTPUT in config:
        out = yield cg.get_variable(config[CONF_HEAT_OUTPUT])
        cg.add(var.set_heat_output(out))
    params = config[CONF_CONTROL_PARAMETERS]
    cg.add(var.set_kp(params[CONF_KP]))
    cg.add(var.set_ki(params[CONF_KI]))
    cg.add(var.set_kd(params[CONF_KD]))
    if CONF_MIN_INTEGRAL in params:
        cg.add(var.set_min_integral(params[CONF_MIN_INTEGRAL]))
    if CONF_MAX_INTEGRAL in params:
        cg.add(var.set_max_integral(params[CONF_MAX_INTEGRAL]))

    cg.add(
        var.set_default_target_temperature(
            config[CONF_DEFAULT_TARGET_TEMPERATURE]))
Ejemplo n.º 9
0
def to_code(config):
    genvex = yield cg.get_variable(config[CONF_GENVEX_ID])
    var = cg.new_Pvariable(config[CONF_ID], genvex)
    yield cg.register_component(var, config)
    yield climate.register_climate(var, config)

    sens = yield cg.get_variable(config[CONF_SENSOR])
    cg.add(var.set_sensor(sens))
Ejemplo n.º 10
0
def display_is_displaying_page_to_code(config, condition_id, template_arg,
                                       args):
    paren = yield cg.get_variable(config[CONF_ID])
    page = yield cg.get_variable(config[CONF_PAGE_ID])
    var = cg.new_Pvariable(condition_id, template_arg, paren)
    cg.add(var.set_page(page))

    yield var
Ejemplo n.º 11
0
def to_code(config):
    var = cg.new_Pvariable(config[CONF_OUTPUT_ID])
    yield cg.register_component(var, config)
    yield light.register_light(var, config)

    hside = yield cg.get_variable(config[CONF_PIN_A])
    cg.add(var.set_pina_pin(hside))
    lside = yield cg.get_variable(config[CONF_PIN_B])
    cg.add(var.set_pinb_pin(lside))
Ejemplo n.º 12
0
def to_code(config):
    server = yield cg.get_variable(
        config[web_server_base.CONF_WEB_SERVER_BASE_ID])
    reader = yield cg.get_variable(
        config[GCodeFileReader.CONF_GCODE_FILE_READER_ID])
    analyzer = yield cg.get_variable(
        config[FileAnalyzer.CONF_FILE_ANALYZER_ID])

    var = cg.new_Pvariable(config[CONF_ID], server, reader, analyzer)
    yield cg.register_component(var, config)
Ejemplo n.º 13
0
def to_code(config):
    var = cg.new_Pvariable(config[CONF_OUTPUT_ID])
    yield light.register_light(var, config)

    red = yield cg.get_variable(config[CONF_RED])
    cg.add(var.set_red(red))
    green = yield cg.get_variable(config[CONF_GREEN])
    cg.add(var.set_green(green))
    blue = yield cg.get_variable(config[CONF_BLUE])
    cg.add(var.set_blue(blue))
Ejemplo n.º 14
0
def to_code(config):
    var = cg.new_Pvariable(config[CONF_ID])

    yield cg.register_component(var, config)
    yield sensor.register_sensor(var, config)

    sens = yield cg.get_variable(config[CONF_POWER_ID])
    cg.add(var.set_parent(sens))
    time_ = yield cg.get_variable(config[CONF_TIME_ID])
    cg.add(var.set_time(time_))
Ejemplo n.º 15
0
def to_code(config):
    var = cg.new_Pvariable(config[CONF_ID])
    yield cg.register_component(var, config)
    yield climate.register_climate(var, config)

    if CONF_SENSOR in config:
        sens = yield cg.get_variable(config[CONF_SENSOR])
        cg.add(var.set_sensor(sens))

    transmitter = yield cg.get_variable(config[CONF_TRANSMITTER_ID])
    cg.add(var.set_transmitter(transmitter))
Ejemplo n.º 16
0
def to_code(config):
    var = cg.new_Pvariable(config[CONF_OUTPUT_ID])
    yield light.register_light(var, config)
    cwhite = yield cg.get_variable(config[CONF_COLD_WHITE])
    cg.add(var.set_cold_white(cwhite))
    cg.add(var.set_cold_white_temperature(config[CONF_COLD_WHITE_COLOR_TEMPERATURE]))

    wwhite = yield cg.get_variable(config[CONF_WARM_WHITE])
    cg.add(var.set_warm_white(wwhite))
    cg.add(var.set_warm_white_temperature(config[CONF_WARM_WHITE_COLOR_TEMPERATURE]))
    cg.add(var.set_constant_brightness(config[CONF_CONSTANT_BRIGHTNESS]))
Ejemplo n.º 17
0
def to_code(config):
    var = cg.new_Pvariable(config[CONF_OUTPUT_ID])
    yield light.register_light(var, config)
    ctemp = yield cg.get_variable(config[CONF_COLOR_TEMPERATURE])
    cg.add(var.set_color_temperature_output(ctemp))
    bright = yield cg.get_variable(config[CONF_BRIGHTNESS])
    cg.add(var.set_brightness_output(bright))
    cg.add(
        var.set_cold_white_temperature(
            config[CONF_COLD_WHITE_COLOR_TEMPERATURE]))
    cg.add(
        var.set_warm_white_temperature(
            config[CONF_WARM_WHITE_COLOR_TEMPERATURE]))
Ejemplo n.º 18
0
def to_code(config):
    var = cg.new_Pvariable(config[CONF_OUTPUT_ID])
    yield cg.register_component(var, config)

    fan_ = yield fan.create_fan_state(config)
    cg.add(var.set_fan(fan_))
    output_ = yield cg.get_variable(config[CONF_OUTPUT])
    cg.add(var.set_output(output_))

    if CONF_OSCILLATION_OUTPUT in config:
        oscillation_output = yield cg.get_variable(
            config[CONF_OSCILLATION_OUTPUT])
        cg.add(var.set_oscillation(oscillation_output))
Ejemplo n.º 19
0
def to_code(config):
    var = cg.new_Pvariable(config[CONF_ID])
    yield cg.register_component(var, config)
    yield climate.register_climate(var, config)

    number_set_temp = yield cg.get_variable(config[CONF_TARGET_TEMP])
    cg.add(var.set_temp_setpoint_number(number_set_temp))

    sens_current_temp = yield cg.get_variable(config[CONF_CURRENT_TEMP])
    cg.add(var.current_temp_sensor(sens_current_temp))

    read_mode = yield cg.get_variable(config[CONF_MODE])
    cg.add(var.mode_select(read_mode))
Ejemplo n.º 20
0
def to_code(config):
    var = cg.new_Pvariable(config[CONF_OUTPUT_ID])
    yield light.register_light(var, config)

    red = yield cg.get_variable(config[CONF_RED])
    cg.add(var.set_red(red))
    green = yield cg.get_variable(config[CONF_GREEN])
    cg.add(var.set_green(green))
    blue = yield cg.get_variable(config[CONF_BLUE])
    cg.add(var.set_blue(blue))
    white = yield cg.get_variable(config[CONF_WHITE])
    cg.add(var.set_white(white))
    cg.add(var.set_color_interlock(config[CONF_COLOR_INTERLOCK]))
Ejemplo n.º 21
0
def to_code(config):
    var = cg.new_Pvariable(config[CONF_ID])
    yield cg.register_component(var, config)
    yield climate.register_climate(var, config)

    cg.add(var.set_supports_cool(config[CONF_SUPPORTS_COOL]))
    cg.add(var.set_supports_heat(config[CONF_SUPPORTS_HEAT]))
    if CONF_SENSOR in config:
        sens = yield cg.get_variable(config[CONF_SENSOR])
        cg.add(var.set_sensor(sens))

    transmitter = yield cg.get_variable(config[CONF_TRANSMITTER_ID])
    cg.add(var.set_transmitter(transmitter))
def to_code(config):
    output_ = yield cg.get_variable(config[CONF_OUTPUT])
    state = yield fan.create_fan_state(config)
    var = cg.new_Pvariable(config[CONF_OUTPUT_ID], state, output_)
    yield cg.register_component(var, config)
    speeds = config[CONF_SPEED]
    cg.add(
        var.set_speeds(speeds[CONF_LOW], speeds[CONF_MEDIUM],
                       speeds[CONF_HIGH]))

    if CONF_OSCILLATION_OUTPUT in config:
        oscillation_output = yield cg.get_variable(
            config[CONF_OSCILLATION_OUTPUT])
        cg.add(var.set_oscillating(oscillation_output))
Ejemplo n.º 23
0
def to_code(config):
    var = cg.new_Pvariable(config[CONF_ID])
    yield cg.register_component(var, config)
    yield sensor.register_sensor(var, config)

    sens_x = yield cg.get_variable(config[CONF_ACCEL_X])
    cg.add(var.set_accel_x(sens_x))
    sens_y = yield cg.get_variable(config[CONF_ACCEL_Y])
    cg.add(var.set_accel_y(sens_y))
    sens_z = yield cg.get_variable(config[CONF_ACCEL_Z])
    cg.add(var.set_accel_z(sens_z))

    if CONF_ROTATION in config:
        sens = yield sensor.new_sensor(config[CONF_ROTATION])
        cg.add(var.set_roation_sensor(sens))
Ejemplo n.º 24
0
def register_climate_ir(var, config):
    yield cg.register_component(var, config)
    yield climate.register_climate(var, config)

    cg.add(var.set_supports_cool(config[CONF_SUPPORTS_COOL]))
    cg.add(var.set_supports_heat(config[CONF_SUPPORTS_HEAT]))
    if CONF_SENSOR in config:
        sens = yield cg.get_variable(config[CONF_SENSOR])
        cg.add(var.set_sensor(sens))
    if CONF_RECEIVER_ID in config:
        receiver = yield cg.get_variable(config[CONF_RECEIVER_ID])
        cg.add(receiver.register_listener(var))

    transmitter = yield cg.get_variable(config[CONF_TRANSMITTER_ID])
    cg.add(var.set_transmitter(transmitter))
Ejemplo n.º 25
0
def to_code(config):
    output_ = yield cg.get_variable(config[CONF_OUTPUT])
    state = yield fan.create_fan_state(config)
    var = cg.new_Pvariable(config[CONF_OUTPUT_ID], state, output_,
                           config[CONF_SPEED_COUNT])
    yield cg.register_component(var, config)

    if CONF_OSCILLATION_OUTPUT in config:
        oscillation_output = yield cg.get_variable(
            config[CONF_OSCILLATION_OUTPUT])
        cg.add(var.set_oscillating(oscillation_output))

    if CONF_DIRECTION_OUTPUT in config:
        direction_output = yield cg.get_variable(config[CONF_DIRECTION_OUTPUT])
        cg.add(var.set_direction(direction_output))
Ejemplo n.º 26
0
def register_i2c_device(var, config):
    """Register an i2c device with the given config.

    Sets the i2c bus to use and the i2c address.

    This is a coroutine, you need to await it with a 'yield' expression!
    """
    parent = yield cg.get_variable(config[CONF_I2C_ID])
    cg.add(var.set_i2c_parent(parent))
    cg.add(var.set_i2c_address(config[CONF_ADDRESS]))
    if CONF_MULTIPLEXER in config:
        multiplexer = yield cg.get_variable(config[CONF_MULTIPLEXER][CONF_ID])
        cg.add(
            var.set_i2c_multiplexer(multiplexer,
                                    config[CONF_MULTIPLEXER][CONF_CHANNEL]))
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))
Ejemplo n.º 28
0
def sim800l_dial_to_code(config, action_id, template_arg, args):
    paren = yield cg.get_variable(config[CONF_ID])
    var = cg.new_Pvariable(action_id, template_arg, paren)
    template_ = yield cg.templatable(config[CONF_RECIPIENT], args,
                                     cg.std_string)
    cg.add(var.set_recipient(template_))
    yield var
Ejemplo n.º 29
0
def to_code(config):
    var = cg.new_Pvariable(config[CONF_ID])
    yield cg.register_component(var, config)
    yield climate.register_climate(var, config)

    sens = yield cg.get_variable(config[CONF_SENSOR])
    cg.add(var.set_sensor(sens))

    normal_config = BangBangClimateTargetTempConfig(
        config[CONF_DEFAULT_TARGET_TEMPERATURE_LOW],
        config[CONF_DEFAULT_TARGET_TEMPERATURE_HIGH])
    cg.add(var.set_normal_config(normal_config))

    yield automation.build_automation(var.get_idle_trigger(), [],
                                      config[CONF_IDLE_ACTION])

    if CONF_COOL_ACTION in config:
        yield automation.build_automation(var.get_cool_trigger(), [],
                                          config[CONF_COOL_ACTION])
        cg.add(var.set_supports_cool(True))
    if CONF_HEAT_ACTION in config:
        yield automation.build_automation(var.get_heat_trigger(), [],
                                          config[CONF_HEAT_ACTION])
        cg.add(var.set_supports_heat(True))

    if CONF_AWAY_CONFIG in config:
        away = config[CONF_AWAY_CONFIG]
        away_config = BangBangClimateTargetTempConfig(
            away[CONF_DEFAULT_TARGET_TEMPERATURE_LOW],
            away[CONF_DEFAULT_TARGET_TEMPERATURE_HIGH])
        cg.add(var.set_away_config(away_config))
Ejemplo n.º 30
0
def to_code(config):
    var = cg.new_Pvariable(config[CONF_ID])
    yield time_.register_time(var, config)
    yield cg.register_component(var, config)

    paren = yield cg.get_variable(config[CONF_GPS_ID])
    cg.add(paren.register_listener(var))