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

标题: huntkey插座,小京鱼插座抓包快速接入ha [打印本页]

作者: ethanzhu    时间: 2022-10-14 20:46
标题: huntkey插座,小京鱼插座抓包快速接入ha

                               
登录/注册后可看大图

身边有一个Huntkey插座,是用小京鱼app控制的,想接入手机termux搭建的homeassistant,于是对其用android httpcanary进行了抓包分析,可以通过分享导出curl命令来进行控制。给需要的朋友一个参考,以后有类似的设备也可以用这种办法快速接入ha。就是不知道服务器的token校验是否有有效期,后面继续跟进看看!另外注意的是httpcanary导出的curl -d如果是json注意修改为单引号,请求的url也需要修改为httpcanary抓包显示的请求url,导出的可能被编码过了。可以在terumx终端里面验证curl执行结果,没问题的话再放到ha里面。
switch:
  platform: command_line
  switches:
    jdchazuo:
      friendly_name: 京东插座
      command_on:  curl -X POST -H "app_identity:WL" -H "Authorization:此处需要按照你的抓包结果来填写" -H "tgt:
此处需要按照你的抓包结果来填写" -H "Content-Type:application/json; charset=utf-8" -H "Content-Length:123" -H "Host:gw.smart.jd.com" -H "Connection:Keep-Alive" -H "Accept-Encoding:gzip" -H "User-Agentkhttp/3.11.0" -d '{"json":"{\"feed_id\":347491659196802546,\"command\":[{\"stream_id\":\"Power\",\"current_value\":1}],\"version\":\"2.0\"}"}' "https://gw.smart.jd.com/c/service/integration/v1/controlDevice_v1?hard_platform=Redmi+Note+7&app_version=7.3.0&device_id=此处需要按照你的抓包结果来填写&plat_version=9&channel=jd&plat=Android"
      command_off: curl -X POST -H "app_identity:WL" -H "Authorization:
此处需要按照你的抓包结果来填写" -H "tgt此处需要按照你的抓包结果来填写" -H "Content-Type:application/json; charset=utf-8" -H "Content-Length:123" -H "Host:gw.smart.jd.com" -H "Connection:Keep-Alive" -H "Accept-Encoding:gzip" -H "User-Agentkhttp/3.11.0" -d '{"json":"{\"feed_id\":347491659196802546,\"command\":[{\"stream_id\":\"Power\",\"current_value\":0}],\"version\":\"2.0\"}"}' 'https://gw.smart.jd.com/c/service/integration/v1/controlDevice_v1?hard_platform=Redmi+Note+7&app_version=7.3.0&device_id=此处需要按照你的抓包结果来填写&plat_version=9&channel=jd&plat=Android'



作者: ybcswz    时间: 2022-10-14 22:11
感谢楼主分享,学习一下思路
作者: bluebaby    时间: 2022-10-15 01:12
感谢朋友分享
作者: chenguy2022    时间: 2022-10-15 07:29
感谢热心分享,能不能具体说下IOS是如何抓包?
作者: ethanzhu    时间: 2022-10-15 09:17
chenguy2022 发表于 2022-10-15 07:29
感谢热心分享,能不能具体说下IOS是如何抓包?

ios没抓过,搞一台android设备吧
作者: guchg    时间: 2022-10-16 17:43
这个方法是可以的,我用的APP是京东小家,插座是小京鱼spw01和spw02,用抓的包导出culr直接就可以执行,就是https://api.smart.jd.com/c/servi ... e_v1?hard_platform=。。。。
作者: k2rcomic    时间: 2022-10-20 22:20
小白 先学习下
作者: gao897924130    时间: 2022-12-13 10:43
有用有用,感谢楼主提供教学,小京鱼的插座通过HA成功接入天猫精灵,不过楼主的模板稍有问题,feed_id需要用自己的才行。
作者: chenguy2022    时间: 2022-12-24 08:12
你好,这种接入后会有状态反馈吗?比较nodered里面能不能捕捉到on off的状态变化?
作者: Arnie97    时间: 2022-12-24 08:15
chenguy2022 发表于 2022-12-24 08:12
你好,这种接入后会有状态反馈吗?比较nodered里面能不能捕捉到on off的状态变化? ...

看楼主贴的命令是用 HA 控制修改开关状态,不包括获取开关当前状态,应该需要另外抓 HTTP GET 的包
作者: chenguy2022    时间: 2022-12-24 08:58
Arnie97 发表于 2022-12-24 08:15
看楼主贴的命令是用 HA 控制修改开关状态,不包括获取开关当前状态,应该需要另外抓 HTTP GET 的包 ...

谢谢指导。刚刚用IOS抓包发现,请求包都是加密过的。

'{"json":"{\"feed_id\":XXXXXXXXXXXXX,\"command\":[{\"stream_id\":\"Power\",\"current_value\":1}],\"version\":\"2.0\"}"}' "https://gw.smart.jd.com/c/service/integration/v1/controlDevice_v1?hard_platform=Redmi+Note+7&app_version=7.3.0&device_id=XXXXXXXXXX&plat_version=9&channel=jd&plat=Android"

就是说上面的这段请求其实是密文调用的。不知道安卓设备的请求是怎么调用的?是加密还是非加密的?


作者: chenguy2022    时间: 2022-12-24 09:31
guchg 发表于 2022-10-16 17:43
这个方法是可以的,我用的APP是京东小家,插座是小京鱼spw01和spw02,用抓的包导出culr直接就可以执行,就 ...

你好,你是安卓设备还是IOS设备?我抓包出来的都是密文。另外api.smart.jd.com也可以调用吗?是不是不用抓包,注册开发者账号也可以?
作者: guchg    时间: 2022-12-30 13:46
chenguy2022 发表于 2022-12-24 09:31
你好,你是安卓设备还是IOS设备?我抓包出来的都是密文。另外api.smart.jd.com也可以调用吗?是不是不用 ...

安卓设备。一开始还行,后来过了一段时间就失效了,不知道原因,也未再研究
作者: chenguy2022    时间: 2022-12-30 20:33
应该是token失效了,抓包办法还是局限性太大。
作者: bluebaby    时间: 2022-12-30 23:59
感谢你的努力
作者: jaden    时间: 2024-2-28 16:43
现在有更好的办法了吗
作者: wugeng668    时间: 2024-3-26 22:27
guchg 发表于 2022-10-16 17:43
这个方法是可以的,我用的APP是京东小家,插座是小京鱼spw01和spw02,用抓的包导出culr直接就可以执行,就 ...

大佬能不能抽空做个详细的讲解。。我也是SPW02




欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) Powered by Discuz! X3.5