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.
 
 

110 lines
3.0 KiB

substitutions:
name: bedside_lamp
friendly_name: Bedside Lamp
transition_length: 750ms
# 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@1.11.0
platform_packages: |-4
framework-arduinoespressif32 @ https://github.com/pauln/arduino-esp32.git#solo-no-mac-crc/1.0.4
light:
- platform: yeelight_bs2
name: ${friendly_name} RGBW Light
red: led_red
green: led_green
blue: led_blue
white: led_white
master1: master1
master2: master2
default_transition_length: ${transition_length}
effects:
- random:
name: "Slow Random"
transition_length: 30s
update_interval: 30s
- random:
name: "Fast Random"
transition_length: 3s
update_interval: 4s
# The device uses two I2C busses.
i2c:
# This bus is very likely connected to an EEPROM that can be found
# on the lamp's board, right next to the GND, TX, RX and GPIO0 debug
# pads. The exact use of this component has not yet been reverse
# engineered.
- id: eeprom_i2c
sda: GPIO17
scl: GPIO18
scan: True
# This bus is connected to the front panel with the touch buttons.
# The touch panel is fully separated form the main board and ESP32,
# and communication is done strictly through I2C. The exact protocol
# has been reverse engineered and can be found in the file
# "doc/reverse_engineering/I2C protocol/i2c_commands.txt".
- id: front_panel_i2c
sda: GPIO21
scl: GPIO19
scan: True
# The device uses six GPIO pins for driving the LED circuitry.
output:
# master1 + master2 are used for turning on and off the
# LED circuitry in the lamp. So these are light the
# internal light switch.
- platform: gpio
id: master1
pin: GPIO33
- platform: gpio
id: master2
pin: GPIO4
# The following ledc outputs are used to drive the color of the light
# in two different modes: white light mode (using color temperature
# to set the type of white light) and RGB light (using an RGB mix).
# Note: it is important to include the channels and frequencies as-is.
- platform: ledc
id: led_red
pin: GPIO13
channel: 0
frequency: 3kHz
- platform: ledc
id: led_green
pin: GPIO14
channel: 1
frequency: 3kHz
- platform: ledc
id: led_blue
pin: GPIO5
channel: 2
frequency: 3kHz
- platform: ledc
id: led_white
pin: GPIO12
channel: 4
frequency: 10kHz