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

 找回密码
 立即注册
查看: 66435|回复: 140

控客设备插件2.0版发布

  [复制链接]

8

主题

110

帖子

957

积分

论坛技术达人

积分
957
金钱
832
HASS币
40
发表于 2018-11-11 10:42:39 | 显示全部楼层 |阅读模式
本帖最后由 jedmeng 于 2018-11-13 13:09 编辑

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

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

其实插件写好有段时间了,碍于最近比较多没来得及完善,另外手头设备有限许多功能没办法测试,所以拖了很久都没发。
鉴于接下来的时间会更忙,所以决定先把插件优化一版发出来。另外,感谢@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中重命名,另外为了使用方便,可以单独给插排单独定义一个分组。
    屏幕快照 2018-11-10 上午10.22.59.png
  • 灯泡:
    下载自定义插件地址,保存到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格式,周围不能带引号,否则命令会不生效。
    学习后会在主界面显示通知信息,提示学习的成功或者失败。
    屏幕快照 2018-11-10 下午8.17.04.png
  • 使用遥控:
    调用remote.send_command这个service,data:
    
    {
      "entity_id": "【设备的entity_id】",
      "command": "【遥控类型ir或rf】_【命令id,取值范围1000-99999】",
      "num_repeats": 【发送次数,默认1】,
      "delay_secs": 【两次发射间的延时,默认0.4s】
    }
    



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



homeassistant-konke.zip

7.16 KB, 下载次数: 588

评分

参与人数 4金钱 +17 收起 理由
佳艺造型 + 5 希望可以更新完善下!!!
cn101 + 1
yuqiuyi99 + 5
jyz_0501 + 6 厉害了word楼主!

查看全部评分

回复

使用道具 举报

8

主题

110

帖子

957

积分

论坛技术达人

积分
957
金钱
832
HASS币
40
 楼主| 发表于 2018-11-11 10:42:50 | 显示全部楼层
本帖最后由 jedmeng 于 2018-11-11 10:59 编辑

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

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

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



konke.lua (2.36 KB, 下载次数: 11, 售价: 10 金钱)

评分

参与人数 2金钱 +30 收起 理由
flashsoft + 20 这个得加分
killadm + 10 膜拜大神!

查看全部评分

回复

使用道具 举报

13

主题

554

帖子

4310

积分

论坛元老

Jeff

Rank: 8Rank: 8

积分
4310
金钱
3756
HASS币
10

活跃会员

发表于 2018-11-11 14:51:33 | 显示全部楼层
沙发 墙裂支持
Jeff
回复

使用道具 举报

175

主题

2967

帖子

7606

积分

超级版主

我就是六神

Rank: 8Rank: 8

积分
7606
金钱
4614
HASS币
398

活跃会员教程狂人灌水之王

QQ
发表于 2018-11-11 20:24:45 | 显示全部楼层
厉害  支持  !!!
回复

使用道具 举报

4

主题

531

帖子

4001

积分

论坛元老

Rank: 8Rank: 8

积分
4001
金钱
3460
HASS币
120
发表于 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) [homeassistant.helpers.entity] 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



翻译中...


回复

使用道具 举报

8

主题

68

帖子

337

积分

论坛分享达人

积分
337
金钱
269
HASS币
0
发表于 2018-11-11 22:46:50 | 显示全部楼层
请问同时有mini k和mini K pro应该怎么设置costum_components下的文件?
重命名konke.py 不冲突就行?
回复

使用道具 举报

8

主题

110

帖子

957

积分

论坛技术达人

积分
957
金钱
832
HASS币
40
 楼主| 发表于 2018-11-11 22:55:02 | 显示全部楼层
killadm 发表于 2018-11-11 21:29
不知道为啥,设置了一个k1两个k2,只出来了一个k2。
昨天用新推的代码测试都通过了。

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

使用道具 举报

8

主题

110

帖子

957

积分

论坛技术达人

积分
957
金钱
832
HASS币
40
 楼主| 发表于 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
回复

使用道具 举报

8

主题

68

帖子

337

积分

论坛分享达人

积分
337
金钱
269
HASS币
0
发表于 2018-11-11 23:10:33 | 显示全部楼层
本帖最后由 a74074011 于 2018-11-12 19:17 编辑

13楼解决了问题

回复

使用道具 举报

13

主题

500

帖子

3422

积分

论坛元老

Rank: 8Rank: 8

积分
3422
金钱
2917
HASS币
20
发表于 2018-11-12 14:17:17 | 显示全部楼层
大神,请收下我的膝盖!
我等膜拜!
楼主真是我等论坛的启明星啊!
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-23 09:46 , Processed in 0.190960 second(s), 38 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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