V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
villivateur
V2EX  ›  问与答

个人开发者有什么办法能获取到自家小米智能家居各个产品的 API 吗?

  •  
  •   villivateur · 32 天前 · 1792 次点击
    这是一个创建于 32 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我想做个小屏幕显示米家净水器的出水质量。

    翻了半天,只在米家 APP 里面找到 React Native 开发者选项,谁他妈稀罕这种界面 API 。

    云端对接不奢求,我只想能在局域网内对接到米家产品就行。

    16 条回复    2024-11-25 18:18:45 +08:00
    mayuko2012
        1
    mayuko2012  
       32 天前   ❤️ 1
    villivateur
        2
    villivateur  
    OP
       32 天前
    @mayuko2012 这个只是开发文档?如何获取到这个接口呢?
    BeijingBaby
        3
    BeijingBaby  
       32 天前   ❤️ 1
    抓包~
    villivateur
        4
    villivateur  
    OP
       32 天前
    @BeijingBaby 这种应该都是加密的吧,抓到了估计也很难用起来
    Tink
        5
    Tink  
       32 天前   ❤️ 1
    anguiao
        6
    anguiao  
       32 天前   ❤️ 1
    https://github.com/al-one/hass-xiaomi-miot
    看这个吧。理论上是可以自行实现 miot 协议来获取数据的,但是个人觉得还是比较麻烦的。还是接入 HA 以后,通过 HA 的 HTTP API 来获取吧。
    Tink
        7
    Tink  
       32 天前   ❤️ 1
    villivateur
        8
    villivateur  
    OP
       32 天前
    @Tink 感谢,这个应该就是我要的东西,但很遗憾这个项目支持的设备列表里没有我的设备
    miaotaizi
        9
    miaotaizi  
       32 天前
    之前看 智辉君 搞过类似的, 最终的解决方案好像是搞个播放器用语音去控制小爱同学

    不知道是不是你要的
    villivateur
        10
    villivateur  
    OP
       32 天前
    @miaotaizi 我靠,这条路也太曲折了
    defaw
        11
    defaw  
       32 天前   ❤️ 1
    https://github.com/yu1745/mi_gateway_js 完全本地的,零延迟,高频率查询都支持
    想要哪个设备的哪个属性,就创建变量绑定,然后查那个对应的全局变量,哪个设备有哪个属性对照 https://home.miot-spec.com/
    aureole999
        12
    aureole999  
       32 天前   ❤️ 1
    python-miio 的支持列表只是一部分设备,其实大部分设备都应该支持的。
    你可以先装一下 Home Assistant ,用 hass-xiaomi-miot 插件连一下你的净水器看看。这个插件用的也是 python-miio 。如果这个插件能用,那 python-miio 也能支持你的设备。
    当然 home assistant 里面如果能看到你的设备的话,实现你的要求更简单,建个自动化,当出水量变化时发送个 http 请求或者 mqtt 之类的就行了。
    也许米家自动化极客版也能实现类似的功能?但我没用过,不清楚。
    Tink
        13
    Tink  
       32 天前
    @villivateur #8 具体是什么设备呢?我帮你测测
    tool2dx
        14
    tool2dx  
       32 天前   ❤️ 1
    我用 miio 协议,https://github.com/OpenMiHome/mihome-binary-protocol/blob/master/doc/PROTOCOL.md

    就是一个 UDP 协议,用 AES 简单加密了一下,相对来说还是很便捷的。

    要申请一下 device token ,就能用了。
    alwaysol
        15
    alwaysol  
       32 天前   ❤️ 1
    我前几天刚好有类似的需求,我是冲开发者版本的米家 app 抓包获取接口的,把 app 调试模式里设置成明文传输
    villivateur
        16
    villivateur  
    OP
       32 天前
    @Tink 米家净水器 chunmi.waterpuri.800f3
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1183 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:23 · PVG 02:23 · LAX 10:23 · JFK 13:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.