Margrop
Articles158
Tags353
Categories21
1password AC AP API AppDaemon Aqara Cron Date Diagrams.net HA HADashboard HomeAssistant IP IPv4 Java LVM‑Thin Linux MacOS MySQL NAS PPPoE PostgreSQL ProcessOn Proxmox VE SSL Shell TTS TimeMachine UML Uptime Kuma Web Windows activate ad adb adblock agent aligenie aliyun alpine annotation aop authy autofs backup baidupan bash bitwarden boot brew browser caddy2 cdn centos cert certbot charles chat chrome classloader client clone closures cloudflare cmd command commit container crontab ctyun ddsm demo dependency deploy developer devtools dll dns docker domain download draw drawio dsm dump dylib edge exception export fail2ban feign firewall-cmd flow frp frpc frps fuckgfw function gcc gfw git github golang gperftools gridea grub gvt-g hacs havcs heap hello hexo hibernate hidpi hoisting homeassistant hosts html htmlparser https idea image img img2kvm import index install intel io ios ip iptables iptv ipv6 iso java javascript jetbrains jni jnilib jpa js json jsonb jupter jupyterlab jvm k8s kernel key kid kms kodi koolproxy koolproxyr kvm lan lastpass launchctl learning lede letsencrypt linux live low-code lvm lxc m3u8 mac macos mariadb markdown maven md5 microcode mirror modem modules monitor mount mstsc mysql n2n n5105 nas network nfs node node-red nodejs nohup notepad++ npm nssm ntp oop openfeign openssl os otp ovz packet capture pat pdf pem perf ping pip plugin png powerbutton print pro proxy pve pvekclean python qcow2 qemu qemu-guest-agent rar reboot reflog remote remote desktop renew repo resize retina root route router rule rules runtime safari sata scipy-notebook scoping scp server slmgr so socks source spk spring springboot springfox ssh ssl stash string supernode svg svn swagger sync synology systemctl tap tap-windows tapwindows telecom template terminal tls token totp tvbox txt ubuntu udisk ui undertow uninstall unlocker upgrade url v2ray vhd vim vlmcsd vm vmdk web websocket wechat windows with worker wow xiaoya xml yum zip 中国电信 云电脑 交换机 光猫 公网IP 内存 内网IP 升级 启动 夏令时 天猫精灵 天翼云 安装 容器 导入 小米 常用软件 广告屏蔽 序列号 应用市场 异常 抓包 描述文件 时区 显卡虚拟化 智能家居 智能音箱 梯子 模块 流程 流程图 浏览器 漫游 激活 火绒 电信 画图 直播源 续期 网关 网络风暴 群晖 腾讯 虚拟机 证书 路由 路由器 软件管家 软路由 运维监控 镜像 镜像源 门窗传感器 防火墙 阿里云 阿里源 集客

Hitokoto

Archive

HomeAssistant 添加自定义的红外遥控器,并支持天猫精灵和小度小度

HomeAssistant 添加自定义的红外遥控器,并支持天猫精灵和小度小度

准备工作

  • 已联网的米家万能遥控器,且已添加到HomeAssistant
  • 米家万能遥控器IP 地址token

IP 地址如何获取?
在手机端打开米家 APP,选择已绑定小米账号的设备
点击进入,然后点右上角的...->更多设置->网络信息,即可查看设备的IP 地址

token如何获取?
参考1:使用开源工具导出小米Token
参考2:Retrieving the Access Token

学习自定义指令

  1. 打开HomeAssistant->开发者工具->服务,在服务里面输入xiaomi_miio.remote_learn_command,然后实体里面找到对应的,比如我的『entity_id』是remote.mo_neng_yao_kong_sh
  2. 点击按钮调用服务,然后在30秒内,拿遥控器对准米家万能遥控器,按需要学习的按键
  3. 如果操作无误,系统会收到一条通知,通知内容就是按键红外指令的base64编码。

配置自定义指令

  1. 打开HomeAssistant->Supervisor->File editor->打开 Web UI->/config/configuration.yaml
  2. 在已有的remote段落下面,增加commands
    完整的示例配置如下
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    remote:
    - platform: xiaomi_miio
    host: 192.168.1.86
    token: 8ec29e26xxxxxxxxxfcxxxxd3c9ef9
    model: chuangmi.remote.v2
    name: 万能遥控 SH
    slot: 1
    timeout: 30
    hidden: false
    commands:
    bladeless_fan_on_off:
    command:
    - raw:mMynEwlk0mEwlkxmU1AIKZABlMQDDmwCNANeAQUzAIOaAI2AQk3As8Bp5xMwGrAj8AQwhimc5AasGLwffAaIEfwa/BrUFlg1/Br8GtACPBr8Gvwa/AjwBpBXoCG8GLwofCY8GsgFSEo8UPxyvE68H3wmKCGsNdga4C88GJ4A
    bladeless_fan_shake_head:
    command:
    - raw:mMynEwlkznMwlgBETSaAGHMwEaAa8AjwCPA+cDEpmByQCJziZgLIAiYKCAEMBZwNfgs+AR4H3g1+Ch4NfhQ2Cz4BDzUBHw1/Br8UPwa/Bi8Ajwa/Br8ZTwa/Fe8FnwCPEW8NfwUPBryAAA==
    bladeless_fan_speed:
    command:
    - raw:mMymswlk0mUwlkxmU4AIKYABlMQDDmwCNANTMwDDmgBFAfQBrAEfgNLOJnNwLKA18BrAaymc5BH8GtQofAIUFkgEcBr8LzwhvBH8AgwofAI8Ol5xMwJyCzgDXwa/BQ8CPgGvBr8GtQUPGv8UOwR/A18a/BQ/GU8ZSwGngAA=
    bladeless_fan_timer:
    command:
    - raw:mMymswlk0mUwlgBETSYAGHNwEaAamYgNMBHACMgEeARIHyTeazMFHwbPAa8Ej5ZNAQkmgDXg2eDZ4NngNeA1gNngx+A1kxmU4BsMBdACSmc5AIYE0wbPDZ8L7wCCmwBHgNYGzYNkBfeDZ4JHgtIGzoNngjsGzIKPi16AiUAA
    bladeless_fan_wind_type:
    command:
    - raw:mMymswlk0mUwlgBETSYgGHNgEaAa8AjwLMAa8AhZxMAR0ANMFDwPmAagAhgR/AIKaAEGAIk4mEsmc5ARoAjJvOQGiAjgCzpmA14DWAEeBH4DSBH2DWwXkAWeDX4MXg1+BH4BFhr+AIQNfAIsAQoE5Aj+BZ4EfgEMM4U3nIDRARwBZIDRAfZAAA==
    上面的示例配置文件,我加入了5条自定义红外命令。

配置命令脚本(将命令实体化)

  1. 打开HomeAssistant->Supervisor->File editor->打开 Web UI->/config/scripts.yaml
  2. 增加配置文件,示例如下
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    bladeless_fan_on_off:
    alias: 开关
    sequence:
    - service: remote.send_command
    entity_id: 'remote.mo_neng_yao_kong_sh'
    data:
    command: 'bladeless_fan_on_off'
    bladeless_fan_shake_head:
    alias: 摇头
    sequence:
    - service: remote.send_command
    entity_id: 'remote.mo_neng_yao_kong_sh'
    data:
    command: 'bladeless_fan_shake_head'
    bladeless_fan_speed:
    alias: 风速
    sequence:
    - service: remote.send_command
    entity_id: 'remote.mo_neng_yao_kong_sh'
    data:
    command: 'bladeless_fan_speed'
    bladeless_fan_wind_type:
    alias: 风类
    sequence:
    - service: remote.send_command
    entity_id: 'remote.mo_neng_yao_kong_sh'
    data:
    command: 'bladeless_fan_wind_type'

HAVCS 设备添加

命令实体化以后,设备添加就非常简单了

  1. 打开HomeAssistant->HAVCS 设备->+
  2. 按各项内容填写即可,填完完成后点击添加
  3. 所有的HAVCS设备添加完成后,点击刷新按钮即可

参考文章

Author:Margrop
Link:http://blog.margrop.com/post/homeassistant-tian-jia-zi-ding-yi-de-hong-wai-yao-kong-qi-ji-yu-mi-jia-wan-neng-yao-kong-qi/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可