我己经使用 homebridge yeelight 插件把新的 吸顶灯与homekit连接起来了,但是发现只有控制亮度的功能。但是新的月光功能很可惜不能使用。
偶然发现homeAssistant的项目连接的灯泡可以调颜色,所以我想问一下,HomeKit对于灯的控制界面是如何显示的,可不可以通过 homebridge的插件来控制。如果可行我很乐意尝试去增强相关的开源代码。
I deploy a homebridge service to control YeeLight Ceiling Light. But homebridge-yeelight plugin can not control moonlight model. Did have something idea to make it support this feature.
If its possible and need some coding, I very pleasure to contribution
Homekit协议对于灯这种accessory只定义了三种操作:开关,调节亮度,调节颜色。homekit甚至对于色温都没有提供支持。
如果想使用月光模式,那么可以这么做:
- 自己开发一个基于homekit的app,ios应该有相应的文档。
- 自己改一下homekit homebridge-yeelight插件,对于吸顶灯,如果亮度低于某个值,可以发送进入月光模式的命令。
我试了第二种方案。
可以成功进入了 nightlight 场景。
但是相应的无法回到退出夜间模式了。
最后还是通过 set_cb 直接调整亮度到一个固定值了。
下面的相关的代码,给有需要的人
this.setBright = function(val) {
this.bright = val;
console.log("model: "+this.model+" val: "+val);
if (this.model == "bedside") {
bleCmd[0] = 0x43;
bleCmd[1] = 0x42;
bleCmd[2] = parseInt(val.toString(16), 16);
this.sendBLECmd();
return;
}
if (this.model == "ceiling"){
if(val<=10){
console.log('start moonlight scene');
var req = {id:1, method:'set_scene',
params:['nightlight', 1]};
this.sendCmd(req);
return;
}else{
console.log('start daylight scene');
var req = {id:1, method: 'set_ct_abx', params: [5500, 'smooth', 500]};
this.sendCmd(req);
}
}
homebridge-yeelight can support Moon version (ceiling light 650)?