V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Elethom
V2EX  ›  分享创造

新年第一天,写了个格力空调的 Homebridge 接入

  •  
  •   Elethom ·
    Elethom · 2021-01-02 05:11:53 +08:00 via iPhone · 9323 次点击
    这是一个创建于 1447 天前的主题,其中的信息可能已经有所发展或是发生改变。
    以前 GitHub 上有一个,无奈接入逻辑和代码质量实在一言难尽,于是自己写了一个。理论上任何能连得上 Wi-Fi 的格力空调都可以用。

    https://github.com/Elethom/homebridge-gree-heatercooler-v2




    谢谢猫猫帮我 review 代码。

    第 1 条附言  ·  2021-02-02 02:28:34 +08:00
    经过几个版本的迭代,功能基本上完善了:支持了中国没有的机型的一些奇怪设定;支持华氏度;用比较魔法的方式实现了官方遥控器和 app 没提供的精确到 0.5 度的设置。
    48 条回复    2021-07-15 13:10:33 +08:00
    kaiki
        1
    kaiki  
       2021-01-02 06:25:16 +08:00   ❤️ 3
    猫猫给你 review 代码你一般给开多少工资啊?
    ypfepwxn
        2
    ypfepwxn  
       2021-01-02 07:39:36 +08:00
    @kaiki 猫粮两粒.
    LetCode
        3
    LetCode  
       2021-01-02 11:14:54 +08:00 via Android   ❤️ 34
    让猫咪来 review 代码,一目就是一个文件

    > cat index.js
    LetCode
        4
    LetCode  
       2021-01-02 11:23:40 +08:00 via Android   ❤️ 1
    @ypfepwxn 节假日加班 review 代码,应该是 3 倍工资,应发放猫粮 6 粒。
    Elethom
        5
    Elethom  
    OP
       2021-01-02 12:42:48 +08:00 via iPhone   ❤️ 1
    @kaiki
    @ypfepwxn
    @LetCode
    自、自愿加班,怎、怎么会有工资的呢!
    woaihsw
        6
    woaihsw  
       2021-01-02 20:54:42 +08:00
    @LetCode

    你这个梗是真的赞...
    elfive
        7
    elfive  
       2021-01-03 07:04:40 +08:00 via iPhone
    支持京东京造的格力空调吗?
    elfive
        8
    elfive  
       2021-01-03 07:19:01 +08:00 via iPhone
    @elfive #7
    帮楼主测试了……果然因为京东京造和格力用的是不同的协议而不支持……
    https://i.loli.net/2021/01/03/litzndMarH1LJxE.jpg
    Elethom
        9
    Elethom  
    OP
       2021-01-03 14:37:23 +08:00 via iPhone
    @elfive
    喵喵喵?京东京造是什么,有链接吗?
    elfive
        10
    elfive  
       2021-01-03 16:08:12 +08:00 via iPhone
    @Elethom #9 搞错了😂,是京鱼智能,我那个空调的链接在这里( https://item.m.jd.com/product/4939815.html ),目前已经下架了。我记得我之前了解过,也注册了他们的开发者,后来拿到开发文档后才发现他们给的不是协议,而是编译好的二进制库,就放弃了。
    Elethom
        11
    Elethom  
    OP
       2021-01-03 16:12:51 +08:00 via iPhone
    @elfive
    早期买过 Honeywell 的京鱼标空气净化器,其实是 Honeywell 的协议套壳。你可以开 logs 重新连一遍试试看,记得检查 IP 设置是否正确。
    yulgang
        12
    yulgang  
       2021-01-04 14:54:07 +08:00
    cat
    czwstc
        13
    czwstc  
       2021-01-06 11:15:37 +08:00
    感谢,正好参考一下,我买了个 hair 的空调,而 hair 空调的 APP 使用感受让人绝望。
    就是一个新闻 APP 加入了空调的开关。
    Elethom
        14
    Elethom  
    OP
       2021-02-02 02:28:57 +08:00 via iPhone
    更新了,有需要的自取。
    wanacry
        15
    wanacry  
       2021-02-02 08:03:54 +08:00 via iPhone
    homebrige 可以实现远程遥控吗
    Elethom
        16
    Elethom  
    OP
       2021-02-02 08:45:35 +08:00 via iPhone
    @wanacry
    不然你觉得它是干嘛的。
    ihipop
        17
    ihipop  
       2021-02-02 09:03:21 +08:00 via Android
    @Elethom 能说下具体是怎么套壳麼?我也有个京鱼智能的格力
    wanacry
        18
    wanacry  
       2021-02-02 09:28:20 +08:00
    @Elethom #16 我以为 homebrige 只能手机跟设备处于同一网络下才能操控设备
    Elethom
        19
    Elethom  
    OP
       2021-02-02 09:57:12 +08:00 via iPhone
    @wanacry
    有 hub 就可以。这是 HomeKit 的设定。
    Elethom
        20
    Elethom  
    OP
       2021-02-02 09:57:54 +08:00 via iPhone
    @ihipop
    有些京东挂名的设备用品牌自己的 app 也可以控制,这种就可以用。
    goodryb
        21
    goodryb  
       2021-02-02 10:19:14 +08:00
    格力的中央空调能接入吗
    ihipop
        22
    ihipop  
       2021-02-02 10:26:31 +08:00 via Android
    @Elethom @Elethom 那看来不行,格力 app 里面找不到这个型号的空调。。
    niub
        23
    niub  
       2021-02-02 10:29:04 +08:00
    哈哈哈哈,这才是有用的东西
    Elethom
        24
    Elethom  
    OP
       2021-02-02 12:59:50 +08:00
    @goodryb
    @ihipop
    看是否可用 Gree 或其他 partner 厂商(如 Ewpe )的 app 控制。理论上这些 apps 能用的就可以。
    qW7bo2FbzbC0
        25
    qW7bo2FbzbC0  
       2021-02-02 13:00:18 +08:00
    不带无线功能也没有遥控的中央空调只能放弃治疗,选择手指头戳控制器了吗
    Elethom
        26
    Elethom  
    OP
       2021-02-02 13:04:17 +08:00
    @hjahgdthab750
    带遥控器的还能用单向控制加额外传感器挣扎一下,遥控都没有的就……手指头戳吧。 😓
    goodryb
        27
    goodryb  
       2021-02-02 13:31:05 +08:00
    @Elethom #24 没有 APP,只有遥控器,那估计希望不大
    Elethom
        28
    Elethom  
    OP
       2021-02-02 13:45:48 +08:00 via iPhone
    @goodryb
    空调伴侣了解一下。
    goodryb
        29
    goodryb  
       2021-02-02 13:51:20 +08:00
    @Elethom #28 空调伴侣看着想个插座,这种不知道在中央空调上面怎么用
    Elethom
        30
    Elethom  
    OP
       2021-02-02 13:53:13 +08:00 via iPhone
    @goodryb
    做成插座是方便取电,控制还是靠红外发信号。
    ihipop
        31
    ihipop  
       2021-02-03 09:17:49 +08:00 via Android   ❤️ 2
    @elfive @Elethom 反馈一下状态。
    我买的是京东定制的京致系列的格力空调,格力官方 app 没有这个型号,机身上只有京鱼智能的绑定码。之前用京鱼智能控制,控制界面里面是个很简陋网页,感觉是格力或者京鱼智能给非包装的页面。
    用格力 app 通过扫描周边设备也发现不了空调,自动绑定(*长按* 模式+WiFi )也不能绑定。然后格力 app 提供了一个手动绑定的途径,方法如下:

    - 空调关机,关机前确认空调的 WiFi 处于打开状态(遥控器 WiFi 提示亮)
    - *同时* *短按* 模式+WiFi 滴一声后等待 5 秒
    - *长按* WiFi,滴一声,遥控器 WiFi 提示灭等待 5 秒
    - *长按* WiFi,滴一声,遥控器 WiFi 提示量,等待 5 秒,WiFi 重置完成

    然后会出现一个含数字的无密码的 WiFi,打开格力的 app 使用手动绑定方式连接到这个 WiFi,剩下的工作 app 会自己完成(其实应该就是通过 TCP 发送了你家 WiFi 密码过去,这里有个人写了分析 https://github.com/arthurkrupa/gree-hvac-mqtt-bridge/blob/6ab669503f05b1c70cf12023ea497b33bf149327/README.md#configuring-hvac-wifi

    第一次这么做,app 显示发现了设备但是连接格力云超时,我又重新做了一次就 OK 了,格力 app 里面还能更新固件,从 V3 升级到 V10 了,之前京鱼出厂的 V3 固件还会乱给我局域网设备发 DHCP 回应,现在应该不会了,京鱼智能还没法更新固件,操作界面简陋,所以我也不想尝试这个 V10 固件还能不能连回京鱼了。
    ihipop
        32
    ihipop  
       2021-02-03 09:21:55 +08:00 via Android
    @ihipop 打错了,想着 U DP,打了 TCP
    Elethom
        33
    Elethom  
    OP
       2021-02-03 09:47:40 +08:00 via iPhone
    @ihipop
    Congrats. 京东做的东西是这样的,我有个空气净化器也是,京东是直接把所有请求 forward 到空气净化器厂家自己的服务器上进行控制,也不维护,没多久就不能用了,但换到原厂 app 还一切正常。
    elfive
        34
    elfive  
       2021-02-03 10:31:11 +08:00 via iPhone
    @ihipop #31 回去试一下,感觉大概率可行🤣
    ihipop
        35
    ihipop  
       2021-02-05 10:46:49 +08:00
    @elfive 我已经成功的在 hassio 上用上、了
    ihipop
        36
    ihipop  
       2021-02-05 13:11:46 +08:00
    @Elethom 请问下 app 的里面有协议控制电辅热么?
    gongshishao126
        37
    gongshishao126  
       2021-02-05 17:04:39 +08:00
    养布偶的都是壕无人性的,我一个杂交英短还是别人送的
    Elethom
        38
    Elethom  
    OP
       2021-02-05 17:38:33 +08:00 via iPhone
    @ihipop
    不确定。有一些未知属性,我可以研究一下里面有没有电辅热。
    Elethom
        39
    Elethom  
    OP
       2021-02-05 17:40:07 +08:00 via iPhone
    @gongshishao126
    https://twitter.com/nfcschwarz
    看看她推上的自拍,明明是森林猫吧。
    20015jjw
        40
    20015jjw  
       2021-02-06 01:33:30 +08:00 via Android
    惊了国内现在都是这么玩的吗
    只有我还活在偶尔调节一下墙上 thermalstats 的时代吗..
    20015jjw
        41
    20015jjw  
       2021-02-06 01:33:57 +08:00 via Android   ❤️ 1
    @Elethom 哇 lz 不考虑开个 ig 账号?想 fo 但不太用推...
    Elethom
        42
    Elethom  
    OP
       2021-02-06 02:44:20 +08:00 via iPhone
    @20015jjw
    猫猫说她比较懒不想开 Instagram 。 🐱
    20015jjw
        43
    20015jjw  
       2021-02-06 03:41:33 +08:00 via iPhone
    @Elethom 可惜了
    elfive
        44
    elfive  
       2021-02-16 17:55:01 +08:00 via iPhone
    @ihipop #31 试了一下,似乎不行,我重置 Wi-Fi 后出来的一个 Wi-Fi 热点是有密码的……这个密码并不知道是啥……
    elfive
        45
    elfive  
       2021-02-16 18:13:55 +08:00 via iPhone
    @ihipop #31 好吧,可能我的这个云锦空调固件已经算是比较新的了吧,尝试着下载了一个格力➕的 App,它里面告诉了我 Wi-Fi 热点的密码,可以直接连接我那个云锦空调,但是那个 App 做得太烂了,我都没找到升级固件的一些入口。最后还是用回了小京鱼 App,至少它还是能导出场景到捷径 App 里面实现 Homekit 语音控制🤣
    ihipop
        46
    ihipop  
       2021-02-17 09:25:49 +08:00 via Android
    @elfive 所以只要确认格力+可以控制就是通用协议,就可以用楼主这个库(以及其他库)
    onebravex
        47
    onebravex  
       2021-07-15 13:09:20 +08:00
    @elfive 格力+这个 app 做的确实差。
    onebravex
        48
    onebravex  
       2021-07-15 13:10:33 +08:00
    @ihipop 你的这个结论很有帮助,感谢楼主提供的代码 @Elethom
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5771 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 01:37 · PVG 09:37 · LAX 17:37 · JFK 20:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.