/ZhiMsg

Uniform Message Platform for HomeAssistant

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Uniform Message Platform for HomeAssistant

HomeAssisstant 通用消息平台,功能类似 HomeAssisstant 内建的 notify,但支持了不同的渠道,并且多了文本输入框。目前支持钉钉群、小爱同学。

1. 安装准备

  • 依赖ZhiMi,请一并准备好,把 zhimi 放入 custom_components

  • 安装:把 zhimsg 放入 custom_components;也支持在 HACS 中添加自定义库的方式安装。

2. 配置方法

参见 我的 Home Assistant 配置configuration.yaml

zhimi:
  username: !secret zhimi_username
  password: !secret zhimi_password

zhimsg:
  - platform: ding
    name: 钉钉信使
    token: !secret dingbot_token
    secret: !secret dingbot_secret
  - platform: miai
    name: 客厅音箱
    did: 380205692
    model: x08c
  - platform: miai
    name: 过道音箱
    did: 89463074
    model: lx01
  - platform: miai
    name: 儿童房音箱
    did: 267090026
    model: lx04

其中 didmodel 可以不配置,此时要求 name 必须和米家/小爱音箱 App 里面的名称一致。为了更快的运行速度,建议配置 didmodel

如何获取小爱同学的 didmodel 参见 MiService

3. 使用方式:三种姿势

  • 调用服务:如:zhimsg.ding,例如我的 automations 中,入户门长时间开启会给钉钉群持续推送消息。如果一个平台有多个渠道,如上面有多个 miai,则会有多个服务名称生成。此时,可以单独调用特定渠道 zhmsg.ke_ting_yin_xiang;也可以调用 zhimsg.miai,使该平台下的所有渠道一起发出消息播报。

  • 文本输入框:如果配置了 name,会在 Home Assistant 前端界面生成一个 input_text 组件,可以在此输入文本。

  • 对接钉钉群:可以上接 ZhiBot/dingbot 中联动,在钉钉群里配置代理机器人,并通过 @机器人 来使用。为什么没有接微信?因为微信不开放,需要伪造账号登录,暂时懒得搞了。

4. 平台类型

提示:如果只用了单个消息平台,可以把未使用的平台文件删除,如只用了小爱同学 TTS,可以删除掉 ding.py

钉钉群消息 dingmsg

向钉钉群机器人发送消息。

小爱同学语音播报/执行 miaimsg

小爱同学 TTS 播报/执行插件。支持的命令样例如下:

您好,我是小爱同学
查询天气
执行关灯
静默关灯
音量40
音量70%大声说您好

如果是在钉钉群里输入上述命令,可以输入 ??? 查看帮助:

Get Props: ?<siid[-piid]>[,...]
           ?1,1-2,1-3,1-4,2-1,2-2,3
Set Props: ?<siid[-piid]=[#]value>[,...]
           ?2=#60,2-2=#false,3=test
Do Action: ?<siid[-piid]> <arg1> [...]
           ?5 您好
           ?5-4 天气 #1

Call MIoT: ?<cmd=prop/get|/prop/set|action> <params>
           ?action {"did":"267090026","siid":5,"aiid":1,"in":["Hello"]}

Call MiIO: ?/<uri> <data>
           ?/home/device_list {"getVirtualModel":false,"getHuamiDevices":1}

Devs List: ?list [name=full|name_keyword] [getVirtualModel=false|true] [getHuamiDevices=0|1]
           ?list 灯 true 0

MiIO Spec: ?spec [model_keyword|type_urn]
           ?spec
           ?spec speaker
           ?spec xiaomi.wifispeaker.lx04
           ?spec urn:miot-spec-v2:device:speaker:0000A015:xiaomi-lx04:1

5. 参考