Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add YLXD62YI (yeelight.light.ceiling24) support #83

Merged
merged 12 commits into from
Jul 26, 2024
51 changes: 51 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ Esphome custom firmware for some Yeelight Ceiling Lights.
| Yeelight Ceiling Light 235C | yeelight.light.ceil20 | YLXDD-0030 | AC220V, 18W, 1200lm, 2700K-6500K, RGB ambient light |
| Yeelight Ceiling Light 300C | yeelight.light.ceil20 | YLXDD-0033 | AC220V, 21W, 1600lm, 2700K-6500K, RGB ambient light |
| Yeelight Ceiling Light 400C | yeelight.light.ceil20 | YLXDD-0034 | AC220V, 24W, 2000lm, 2700K-6500K, RGB ambient light |
| Yeelight Jiaoyue 260 Ceiling Light | yeelight.light.ceiling24 | YLXD62YI | AC220V, 10W, 670LM, 2700K-6500K, 26cm |

### More esphome + yeelight projects

Expand Down Expand Up @@ -112,6 +113,16 @@ Esphome custom firmware for some Yeelight Ceiling Lights.
- Light strip (RGB)
- Brightness
- Color

### yeelink.light.ceiling24

- Light (CCWW)
- Brightness
- Color temperature (2700K-6500K)
- Sensor
- ADC1
- ADC2


## Known bugs

Expand Down Expand Up @@ -322,6 +333,22 @@ The ESP32 will enter the serial bootloader when GPIO0 (test point IO0 at the bac
| 3.3V | +, TP7 | 3.3V | |
| GND | -, TP8 | GND | |

### yeelink.light.ceiling24

| Name | Label | ESP32 GPIO | Stock firmware limits |
| ------------------- | ------ | ------------ |-----------------------|
| Warm white PWM | | GPIO19 | |
| Cold white PWM | | GPIO21 | |
| VCC measurement | | GPIO36 | |
| VCC measurement | | GPIO32 | |
| TXD | TXD | GPIO1 | |
| RXD | RXD | GPIO3 | |
| GPIO0 | IO0 | GPIO0 | |
| 3.3V | 3.3V | 3.3V | |
| GND | GND | GND | |

The ESP32 will enter the serial bootloader when GPIO0 (IO0 pad) is held low (GND) on reset / power.


## Disassembly

Expand Down Expand Up @@ -644,3 +671,27 @@ When flashing the YLXDD-00xx series you'll need an external 3.3V power supply an
<a href="https://raw.githubusercontent.com/syssi/esphome-yeelight-ceiling-light/main/images/ylxdd0033/004.webp" target="_blank">
<img src="https://raw.githubusercontent.com/syssi/esphome-yeelight-ceiling-light/main/images/ylxdd0033/thumbnails/004.webp" width="18%">
</a>

### YLXD62YI
Rotate the cover counterclockwise to remove the cover. Unscrew the 220VAC L and N Wires. Remove three screws on the transparent diffusor.
Now the PCB is completely exposed and unmounted from the base.
3.3V, GND, TXD, RXD and IO0 Pads are clearly visible on the main PCB near ESP32 board.
To flash ESP32 you need to solder the wires onto that test points.


<a href="https://raw.githubusercontent.com/justr0st/esphome-yeelight-ceiling-light/main/images/ylxd62yi/001.jpg" target="_blank">
<img src="https://raw.githubusercontent.com/justr0st/esphome-yeelight-ceiling-light/main/images/ylxd62yi/thumbnails/001.jpg" width="18%">
</a>

<a href="https://raw.githubusercontent.com/justr0st/esphome-yeelight-ceiling-light/main/images/ylxd62yi/002.jpg" target="_blank">
<img src="https://raw.githubusercontent.com/justr0st/esphome-yeelight-ceiling-light/main/images/ylxd62yi/thumbnails/002.jpg" width="18%">
</a>

<a href="https://raw.githubusercontent.com/justr0st/esphome-yeelight-ceiling-light/main/images/ylxd62yi/003.jpg" target="_blank">
<img src="https://raw.githubusercontent.com/justr0st/esphome-yeelight-ceiling-light/main/images/ylxd62yi/thumbnails/003.jpg" width="18%">
</a>

<a href="https://raw.githubusercontent.com/justr0st/esphome-yeelight-ceiling-light/main/images/ylxd62yi/004.jpg" target="_blank">
<img src="https://raw.githubusercontent.com/justr0st/esphome-yeelight-ceiling-light/main/images/ylxd62yi/thumbnails/004.jpg" width="18%">
</a>

Binary file added images/ylxd62yi/001.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/ylxd62yi/002.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/ylxd62yi/003.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/ylxd62yi/004.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/ylxd62yi/thumbnails/001.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/ylxd62yi/thumbnails/002.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/ylxd62yi/thumbnails/003.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/ylxd62yi/thumbnails/004.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
60 changes: 60 additions & 0 deletions yeelight_light_ceiling24.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# configuration based on:
# - https://github.com/syssi/esphome-yeelight-ceiling-light/blob/main/yeelight_light_ceiling15.yaml

substitutions:
name: yeelight-light-ceiling24

esphome:
name: ${name}
min_version: 2024.6.0

esp32:
board: esp32doit-devkit-v1
framework:
type: esp-idf
sdkconfig_options:
CONFIG_FREERTOS_UNICORE: y
advanced:
ignore_efuse_mac_crc: true

wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password

ota:
platform: esphome

logger:
level: DEBUG

api:

sensor:
- platform: adc
pin: GPIO32
name: "${name} adc1"
attenuation: 12db
- platform: adc
pin: GPIO33
name: "${name} adc2"
attenuation: 12db

output:
- platform: ledc
pin: GPIO19
id: output_warm
- platform: ledc
pin: GPIO21
id: output_cold

light:
- platform: cwww
name: "${name} ceiling light"
id: ceiling_light
cold_white: output_cold
warm_white: output_warm
cold_white_color_temperature: 6500 K
warm_white_color_temperature: 2700 K
# disabling constant_brightness makes color temperature transition smooth without brightness dips
# constant_brightness: true
gamma_correct: 0
Loading