You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

116 lines
3.0 KiB

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;