大佬,作业已抄的差不多,有事不解,请指教。
我用了60颗灯珠,理论上不需要你的0.933*,您的代码
it.all() = Color(0, 0, 0);
it[round(0.93333*(60-id(homeassistant_time).now().second))] = Color(255, 0, 250);
if (id(homeassistant_time).now().minute == 0) {
it[20] = Color(0, 255, 0);
it[21] = Color(0, 255, 0);
}
if (id(homeassistant_time).now().minute == 1) {
it[19] = Color(0, 255, 0);
it[20] = Color(0, 255, 0);
}
这段看不懂,我将代码改成了下面这段
- addressable_lambda:
name: "clock"
update_interval: 50ms
lambda: |-
it.all() = Color(0, 0, 0);
it[id(homeassistant_time).now().second] = Color(255, 0, 250);
it[(id(homeassistant_time).now().minute)-1] = Color(0, 255, 255);
it[(id(homeassistant_time).now().hour)*5-1] = Color(255, 255, 0);
有2个问题,秒针与分针指示没问题,时针是有问题的,比如现在23点,*5之后就是115,一共60个灯珠是不对的,如何将24小时改成12小时呢,还有时针在半点应该指向中间,这行代码简单粗暴,到了准点直接跳了。
请大佬百忙之中不吝赐教。 |