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
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]))
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))
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))
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)
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): 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]))
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]))
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))
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
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))
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)
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))
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_))
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))
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]))
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]))
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))
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))
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]))
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))
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))
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))
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))
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))
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
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))
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))