esphome: name: $devicename platform: ESP8266 board: d1_mini build_path: build/test3 on_boot: - wait_until: - api.connected - wifi.connected includes: - custom.h substitutions: devicename: test3 api: port: 8000 password: 'pwd' reboot_timeout: 0min services: - service: hello_world variables: name: string then: - logger.log: format: 'Hello World %s!' args: - name.c_str() - service: empty_service then: - logger.log: 'Service Called' - service: all_types variables: bool_: bool int_: int float_: float string_: string then: - logger.log: 'Something happened' - stepper.set_target: id: my_stepper2 target: !lambda 'return int_;' wifi: ssid: 'MySSID' password: 'password1' i2c: sda: 4 scl: 5 scan: False spi: clk_pin: GPIO12 mosi_pin: GPIO13 miso_pin: GPIO14 uart: tx_pin: GPIO1 rx_pin: GPIO3 baud_rate: 115200 ota: safe_mode: True port: 3286 logger: hardware_uart: UART1 level: DEBUG esp8266_store_log_strings_in_flash: false web_server: deep_sleep: run_duration: 20s sleep_duration: 50s sensor: - platform: apds9960 type: proximity name: APDS9960 Proximity - platform: apds9960 type: clear name: APDS9960 Clear - platform: apds9960 type: red name: APDS9960 Red - platform: apds9960 type: green name: APDS9960 Green - platform: apds9960 type: blue name: APDS9960 Blue - platform: homeassistant entity_id: sensor.hello_world id: ha_hello_world - platform: am2320 temperature: name: "Temperature" humidity: name: "Humidity" - platform: adc pin: VCC id: my_sensor filters: - offset: 5.0 - multiply: 2.0 - filter_out: NAN - sliding_window_moving_average: - exponential_moving_average: - lambda: 'return 0;' - delta: 100 - throttle: 100ms - debounce: 500s - calibrate_linear: - 0 -> 0 - 100 -> 100 - platform: resistance sensor: my_sensor configuration: DOWNSTREAM resistor: 10kΩ reference_voltage: 3.3V name: Resistance id: resist - platform: ntc sensor: resist name: NTC Sensor calibration: b_constant: 3950 reference_resistance: 10k reference_temperature: 25°C - platform: ntc sensor: resist name: NTC Sensor2 calibration: - 10.0kOhm -> 25°C - 27.219kOhm -> 0°C - 14.674kOhm -> 15°C - platform: tcs34725 red_channel: name: Red Channel green_channel: name: Green Channel blue_channel: name: Blue Channel clear_channel: name: Clear Channel illuminance: name: Illuminance color_temperature: name: Color Temperature integration_time: 700ms gain: 60x - platform: custom lambda: |- auto s = new CustomSensor(); App.register_component(s); return {s}; sensors: - id: custom_sensor name: Custom Sensor - platform: binary_sensor_map name: Binary Sensor Map type: group channels: - binary_sensor: bin1 value: 10.0 - binary_sensor: bin2 value: 15.0 - binary_sensor: bin3 value: 100.0 time: - platform: homeassistant apds9960: address: 0x20 update_interval: 60s mpr121: id: mpr121_first address: 0x5A binary_sensor: - platform: apds9960 direction: up name: APDS9960 Up device_class: motion filters: - invert - delayed_on: 20ms - delayed_off: 20ms - lambda: 'return false;' on_state: - logger.log: New state id: my_binary_sensor - platform: apds9960 direction: down name: APDS9960 Down - platform: apds9960 direction: left name: APDS9960 Left - platform: apds9960 direction: right name: APDS9960 Right - platform: homeassistant entity_id: binary_sensor.hello_world id: ha_hello_world_binary - platform: mpr121 id: touchkey0 channel: 0 name: "touchkey0" - platform: mpr121 channel: 1 name: "touchkey1" id: bin1 - platform: mpr121 channel: 2 name: "touchkey2" id: bin2 - platform: mpr121 channel: 3 name: "touchkey3" id: bin3 on_press: then: - switch.toggle: mpr121_toggle - platform: ttp229_lsf channel: 1 name: TTP229 LSF Test - platform: ttp229_bsf channel: 1 name: TTP229 BSF Test - platform: custom lambda: |- auto s = new CustomBinarySensor(); App.register_component(s); return {s}; binary_sensors: - id: custom_binary_sensor name: Custom Binary Sensor remote_receiver: pin: GPIO12 dump: [] status_led: pin: GPIO2 text_sensor: - platform: version name: "ESPHome Version" icon: mdi:icon id: version_sensor on_value: - lambda: !lambda |- ESP_LOGD("main", "The state is %s=%s", x.c_str(), id(version_sensor).state.c_str()); - script.execute: my_script - homeassistant.service: service: notify.html5 data: title: New Humidity data_template: message: The humidity is {{ my_variable }}%. variables: my_variable: |- return id(version_sensor).state; - platform: template name: "Template Text Sensor" lambda: |- return {"Hello World"}; - platform: homeassistant entity_id: sensor.hello_world2 id: ha_hello_world2 - platform: custom lambda: |- auto s = new CustomTextSensor(); App.register_component(s); return {s}; text_sensors: - id: custom_text_sensor name: Custom Text Sensor script: - id: my_script then: - lambda: 'ESP_LOGD("main", "Hello World!");' switch: - platform: template name: "mpr121_toggle" id: mpr121_toggle optimistic: True - platform: gpio id: gpio_switch1 pin: mcp23017: mcp number: 0 mode: OUTPUT interlock: &interlock [gpio_switch1, gpio_switch2] - platform: gpio id: gpio_switch2 pin: GPIO1 interlock: *interlock - platform: custom lambda: |- auto s = new CustomSwitch(); return {s}; switches: - id: custom_switch name: Custom Switch custom_component: lambda: |- auto s = new CustomComponent(); s->set_update_interval(15000); return {s}; stepper: - platform: uln2003 id: my_stepper pin_a: GPIO12 pin_b: GPIO13 pin_c: GPIO14 pin_d: GPIO15 sleep_when_done: no step_mode: HALF_STEP max_speed: 250 steps/s acceleration: inf deceleration: inf - platform: a4988 id: my_stepper2 step_pin: GPIO1 dir_pin: GPIO2 max_speed: 0.1 steps/s acceleration: 10 steps/s^2 deceleration: 10 steps/s^2 interval: interval: 5s then: - logger.log: "Interval Run" - stepper.set_target: id: my_stepper2 target: 500 - stepper.set_target: id: my_stepper target: !lambda 'return 0;' - stepper.report_position: id: my_stepper2 position: 0 - stepper.report_position: id: my_stepper position: !lambda 'return 50/100.0;' climate: - platform: bang_bang name: Bang Bang Climate sensor: ha_hello_world default_target_temperature_low: 18°C default_target_temperature_high: 24°C idle_action: - switch.turn_on: gpio_switch1 cool_action: - switch.turn_on: gpio_switch2 heat_action: - switch.turn_on: gpio_switch1 away_config: default_target_temperature_low: 16°C default_target_temperature_high: 20°C cover: - platform: endstop name: Endstop Cover stop_action: - switch.turn_on: gpio_switch1 open_endstop: my_binary_sensor open_action: - switch.turn_on: gpio_switch1 open_duration: 5min close_endstop: my_binary_sensor close_action: - switch.turn_on: gpio_switch2 - output.set_level: id: out level: 50% - output.esp8266_pwm.set_frequency: id: out frequency: 500.0Hz - output.esp8266_pwm.set_frequency: id: out frequency: !lambda 'return 500.0;' - servo.write: id: my_servo level: -100% - servo.write: id: my_servo level: !lambda 'return -1.0;' - delay: 2s - servo.detach: my_servo close_duration: 4.5min max_duration: 10min - platform: time_based name: Time Based Cover stop_action: - switch.turn_on: gpio_switch1 open_action: - switch.turn_on: gpio_switch1 open_duration: 5min close_action: - switch.turn_on: gpio_switch2 close_duration: 4.5min output: - platform: esp8266_pwm id: out pin: D3 frequency: 50Hz - platform: custom type: binary lambda: |- auto s = new CustomBinaryOutput(); App.register_component(s); return {s}; outputs: - id: custom_binary - platform: custom type: float lambda: |- auto s = new CustomFloatOutput(); App.register_component(s); return {s}; outputs: - id: custom_float mcp23017: id: mcp light: - platform: neopixelbus name: Neopixelbus Light pin: GPIO1 type: GRBW variant: SK6812 method: ESP8266_UART0 num_leds: 100 servo: id: my_servo output: out ttp229_lsf: ttp229_bsf: sdo_pin: D0 scl_pin: D1