『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 7701|回复: 3

[技术探讨] ESPhome中如何获得灯的当前亮度和色温值

[复制链接]

4

主题

57

帖子

277

积分

论坛分享达人

积分
277
金钱
220
HASS币
10
发表于 2020-5-14 23:56:07 | 显示全部楼层 |阅读模式
做了一个标准的ESPHOME色温灯,通过本地按键可以调光,通过HA也可以调光。https://bbs.hassbian.com/thread-9963-1-1.html

为了产品开发的方便,改为全局变量调光,本地按键调光逻辑是改变val_lv,val_tc

script:
    - id: apply_dimming
    # https://esphome.io/guides/automations.html#script-execute-action
      then:
        - lambda: |-
             auto call = id(dimmer_Light2).turn_on();
             call.set_brightness(id(val_lv)/100);
             call.set_color_temperature(id(val_tc));
             call.perform();
问题来了,本地按键和HA都能顺利调光。但是两者不同步。HA调完后,再用本地按键调,亮度和色温会回到原来的值重新调,就会有突变。

现在想要获得灯的当前亮度和色温值,在官方文档中实在是找不到函数,请大神指点一下。

回复

使用道具 举报

40

主题

3056

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11149
金钱
8042
HASS币
182
发表于 2020-5-15 07:27:19 | 显示全部楼层
本帖最后由 neroxps 于 2020-5-15 07:55 编辑

获取 Ligth 类的详细颜色与亮度

float r = id(rgb_ligth).current_values.get_red();
float g = id(rgb_ligth).current_values.get_green();
float b = id(rgb_ligth).current_values.get_blue();
float brightness = id(rgb_ligth).current_values.get_brightness();

更多参考

https://github.com/smarthomefans/esphome-template/blob/master/dimmer_light/esp32_dimmer_light.yaml
https://www.esphome.io/api/classesphome_1_1light_1_1_light_color_values.html





Nero
回复

使用道具 举报

4

主题

57

帖子

277

积分

论坛分享达人

积分
277
金钱
220
HASS币
10
 楼主| 发表于 2020-5-15 09:00:20 | 显示全部楼层
非常感谢,我试试
回复

使用道具 举报

0

主题

20

帖子

89

积分

注册会员

Rank: 2

积分
89
金钱
69
HASS币
0
QQ
发表于 2021-9-21 01:13:58 | 显示全部楼层
我也去试一试,不知道效果如何?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-27 15:50 , Processed in 0.084705 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表