|
|
- substitutions:
- name: bedside_lamp
- friendly_name: Bedside Lamp
- transition_length: 1s
-
- # Use your own preferences for these components.
-
- wifi:
- #ssid: "Your-SSID"
- #password: "Your-Password"
- #use_address: 192.168.10.12
- #
- # Enable fallback hotspot (captive portal) in case wifi connection fails
- #ap:
- # ssid: "Bedside_lamp_$name"
- # password: "bedside2021"
-
- captive_portal:
- api:
- ota:
- logger:
-
- # Special platform + package are used for enabling unicore and disabling the
- # efuse mac crc check. These two changes are required for the ESP32-WROOM-32D
- # that is used in the Yeelight bedside lamp 2.
- esphome:
- name: $name
- platform: ESP32
- board: esp32doit-devkit-v1
- platformio_options:
- platform: espressif32@3.2.0
- platform_packages: |-4
- framework-arduinoespressif32 @ https://github.com/pauln/arduino-esp32.git#solo-no-mac-crc/1.0.6
-
- # NOTE: HIGHLY OPTIONAL BLOCK
- #
- # This yeelight_bs2 comopnent acts as the hub for the device. Other
- # components talk to the hardware via this component. Normally, you
- # wouldn't need to change anything in the default implementation. You
- # can even fully omit this element from the configuration.
- # Only define this when you need different pin numbers or want to
- # assign specific ID's to the pin components.
- yeelight_bs2:
- red_id: TheRedOne
- red: GPIO13
- green_id: TheGreenOne
- green: GPIO14
- blue_id: TheBlueOne
- blue: GPIO5
- white_id: TheWhiteOne
- white: GPIO12
- master1_id: TheFirstMaster
- master1: GPIO33
- master2_id: TheSecondMaster
- master2: GPIO4
- sda: GPIO21
- scl: GPIO19
- trigger_pin: GPIO16
-
- # This component controls the light of the device.
- light:
- - platform: yeelight_bs2
- name: ${friendly_name} RGBW Light
- default_transition_length: ${transition_length}
- # You can use any effects that you like. These are just examples.
- effects:
- - random:
- name: "Slow Random"
- transition_length: 30s
- update_interval: 30s
- - random:
- name: "Fast Random"
- transition_length: 3s
- update_interval: 3s
-
- binary_sensor:
-
- # When pressing the power button, turn on the light.
- - platform: yeelight_bs2
- id: ${name}_power_button
- part: power button
- on_press:
- then:
- - light.toggle: ${name}
-
- # When holding the color button, turn on night light mode.
- - platform: yeelight_bs2
- id: ${name}_color_button
- part: color button
- on_multi_click:
- - timing:
- - ON for at least 0.8s
- then:
- - light.turn_on:
- id: ${name}
- brightness: 0.01
- red: 0
- green: 1
- blue: 0
-
- sensor:
-
- # When the slider is touched, update the brightness.
- # Brightness 0.01 initiates the light night mode, which has already
- # been handle above. Therefore, brightness starts from 0.02 here,
- # so night mode is not triggered from the slider.
- - platform: yeelight_bs2
- id: ${name}_slider_level
- range_from: 0.02
- on_value:
- then:
- - light.turn_on:
- id: ${name}
- brightness: !lambda return x;
-
-
|