jedmeng 发表于 2018-11-11 10:42:39

控客设备插件2.0版发布

本帖最后由 jedmeng 于 2018-11-13 13:09 编辑

很早之前发了第一版的控客插件,功能比较单一,支持MiniK/K2。https://bbs.hassbian.com/thread-3523-1-1.html

最近进行了一次升级,支持了控客目前全部的插座、插排和灯泡,另外也支持了红外和射频遥控功能。
说是升级,其实重写了全部代码,整体改为异步模式,比第一版效率更高,推荐第一版的用户升级。

其实插件写好有段时间了,碍于最近比较多没来得及完善,另外手头设备有限许多功能没办法测试,所以拖了很久都没发。
鉴于接下来的时间会更忙:dizzy:,所以决定先把插件优化一版发出来。另外,感谢@killadm、@dsyulgz的友情帮测~

不过截至目前,控客插排(两款)、第一代RGB灯泡,还没有经过真机测试,如果大家在使用过程中遇到问题请回帖反馈。

好了,废话到此为止。

先说设备型号

控客家的设备除了插座系列,貌似都没有明确的对外型号。为了方便描述,首先对型号进行明确:


[*]插座:
k1:第一代插座,开关在右下角
k2:第二代插座,支持插件,不区分k2和k2pro
minik:小K插座,圆形,同样不区分minik和minikpro
[*]插排:
micmul:横版插排,4插孔+2USB
mul:竖板插排,3插孔+4USB
[*]灯泡:
klight:第一代灯泡,支持亮度和颜色调节
kbulb:第二代灯泡,支持亮度和色温调节


然后是配置方法


[*]插座和插排:
下载自定义插件地址,保存到config/costum_components/switch/下。
增加配置:

switch:
- platform: konke
    host: 【设备IP】
    name: 【设备显示的名称,可不填】
    model: 【设备型号,见上面对型号的定义】


k2插座和mul插排,会同时添加插孔开关和usb开关。
插排的每个插孔显示为独立的开关,默认以name_1,name_2的形式显示,建议根据功能在customize.yaml中重命名,另外为了使用方便,可以单独给插排单独定义一个分组。

[*]灯泡:
下载自定义插件地址,保存到config/costum_components/light/下。
增加配置:

light:
- platform: konke
    host: 【设备IP】
    name: 【设备显示的名称,可不填】
    model: 【设备型号,见上面对型号的定义】


这里也支持k2的夜灯控制,host就填插座的ip,model填k2_light。
[*]遥控器:
下载自定义插件地址,保存到config/costum_components/remote/下。
增加配置:

remote:
- platform: konke
    host: 【设备IP】
    name: 【设备显示的名称,可不填】
    model: 【设备型号,见上面对型号的定义】
    hidden: 【是否显示这个设备,默认False,建议False】
    type:【遥控类型,红外ir,射频rf】


如果hidden设为true,界面中会显示遥控器的设备,但是此处的开关是无效的!

遥控使用方法

控客的遥控器是不支持直接输入遥控编码的,只能通过学习添加遥控器。


[*]添加遥控:
进入service界面,选择remote.koneke_ir_learn_command或remote.koneke_rf_learn_command。

{
"entity_id": "【设备的entity_id】",
"slot": 【命令id,取值范围1000-99999】,
"timeout": 【超时时长,默认10s】
}

注意solt参数是int格式,周围不能带引号,否则命令会不生效。
学习后会在主界面显示通知信息,提示学习的成功或者失败。

[*]使用遥控:
调用remote.send_command这个service,data:

{
"entity_id": "【设备的entity_id】",
"command": "【遥控类型ir或rf】_【命令id,取值范围1000-99999】",
"num_repeats": 【发送次数,默认1】,
"delay_secs": 【两次发射间的延时,默认0.4s】
}



为了方便下载,插件在附件中也传了一份。



jedmeng 发表于 2018-11-11 10:42:50

本帖最后由 jedmeng 于 2018-11-11 10:59 编辑

开发插件的过程中为了分析方便,顺手写了一个WireShark的协议解析插件,效果如图:


有兴趣研究控客协议的同学可以自取,普通用户无需关注,注意,此附件收费。

使用插件前需要首先安装依赖:https://github.com/Lekensteyn/luagcrypt




karl_31 发表于 2018-11-11 14:51:33

沙发 墙裂支持

jyz_0501 发表于 2018-11-11 20:24:45

厉害支持!!!

killadm 发表于 2018-11-11 21:29:28

本帖最后由 killadm 于 2018-11-13 12:03 编辑


更新:在楼主的帮助下搞定了,不是插件的问题,是另一个K2自己抽风。
K1在更新后也出来了。

===================================================================================

不知道为啥,设置了一个k1两个k2,只出来了一个k2。
昨天用新推的代码测试都通过了。

2018-11-11 21:25:48 ERROR (MainThread) Update for switch.smatplugk fails
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 221, in async_update_ha_state
    await self.async_device_update()
File "/usr/local/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 347, in async_device_update
    await self.async_update()
File "/config/custom_components/switch/konke.py", line 127, in async_update
    await self._device.update(type='relay')
File "/config/deps/lib/python3.7/site-packages/pykonkeio/device/basetoggle.py", line 26, in update
    self.status = await self.send_message('check', **kwargs)
TypeError: send_message() got an unexpected keyword argument 'type'


配置是这样的
switch:
- platform: konke
    host: 192.168.123.35
    name: smatplugk
    model: k1
- platform: konke
    host: 192.168.123.231
    name: pc
    model: k2
- platform: konke
    host: 192.168.123.232
    name: projector
    model: k2


翻译中...


a74074011 发表于 2018-11-11 22:46:50

请问同时有mini k和mini K pro应该怎么设置costum_components下的文件?
重命名konke.py 不冲突就行?

jedmeng 发表于 2018-11-11 22:55:02

killadm 发表于 2018-11-11 21:29
不知道为啥,设置了一个k1两个k2,只出来了一个k2。
昨天用新推的代码测试都通过了。



报错这个问题修复了,单独升级一下pykonkeio就好了。少一个k2的问题找你私聊。

jedmeng 发表于 2018-11-11 23:03:45

a74074011 发表于 2018-11-11 22:46
请问同时有mini k和mini K pro应该怎么设置costum_components下的文件?
重命名konke.py 不冲突就行? ...

不需要改动文件,只要增加多条配置就行

switch:
- platform: konke
    host: 【mink ip】
    name: MiniK
    model: minik
- platform: konke
    host: 【minik pro ip】
    name: MiniK Pro
    model: minik

a74074011 发表于 2018-11-11 23:10:33

本帖最后由 a74074011 于 2018-11-12 19:17 编辑

13楼解决了问题

yuqiuyi99 发表于 2018-11-12 14:17:17

大神,请收下我的膝盖!
我等膜拜!
楼主真是我等论坛的启明星啊!:lol
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 控客设备插件2.0版发布