资讯动态

Home Assistant xiaomi_miio 红外遥控命令学习(Remote learn command)实战指南

发布时间:2026/9/17 21:38:12 来源:尧图企业网站定制
Home Assistant xiaomi_miio 红外遥控命令学习Remote learn command实战指南【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io本指南以 Home Assistant 文档仓库中的xiaomi_miio.remote_learn_command动作文档为主体系统讲解如何让小米Chuangmi红外遥控器进入学习模式、捕获实体遥控器发出的红外码并将其保存到指定槽位以复用。读完本文你将掌握通过可视化界面与 YAML 两种方式调用该动作、理解slot与timeout参数的真实含义以及将学习到的红外码接入自动化、脚本和仪表盘按钮的完整流程。动作定位让小米红外遥控器“听懂”任何遥控器Remote learn commandxiaomi_miio.remote_learn_command是xiaomi_miio集成为 Xiaomi IR RemoteChuangmiIr设备注册的专用动作之一。它的作用是将红外遥控器切换为学习模式动作触发后把实体遥控器例如电视、空调、机顶盒的遥控器对准小米红外网关并按下按键网关便会捕获该红外信号并解析成可存储的编码。学习完成后Home Assistant 会在Overview概览页中以通知的形式展示学习到的命令内容方便你直接复制进配置。该动作的官方描述为“Learns an IR command with a Xiaomi IR remote.”使用小米红外遥控器学习一条 IR 命令。它与通用动作remote.send_command发送命令形成闭环先学习后发送。从集成文档可以看出Xiaomi IR Remote 平台同时注册了“学习命令”与“控制遥控器 LED”两类小米专用动作见 xiaomi_miio 集成文档 的 Xiaomi IR Remote 一节其中学习相关的动作共有三个xiaomi_miio.remote_learn_command进入学习模式捕获红外命令xiaomi_miio.remote_set_led_on打开遥控器蓝色状态 LEDxiaomi_miio.remote_set_led_off关闭遥控器蓝色状态 LED。前置条件配置 Xiaomi IR Remote 平台要使用该动作首先需要让 Home Assistant 接入一台小米红外遥控器。xiaomi_miio集成的remote平台负责与设备通信添加方式是在configuration.yaml中声明remote平台remote: - platform: xiaomi_miio host: 192.168.42.42 token: YOUR_TOKEN其中host为遥控器的 IP 地址token为通过米家 App 获取的 API 令牌获取方法见 xiaomi_miio 集成文档 中的 Retrieving the Access Token 章节。平台级配置还支持以下可选参数参数说明是否必填类型默认值name遥控器的显示名称否string—slot保存学习命令使用的槽位否integer1timeout学习新命令的超时时间否integer30commands预定义的命令列表支持 raw 与 pronto hex 两种格式否map—一个带名称、槽位与预置命令的完整配置示例remote: - platform: xiaomi_miio name: bathroom remote host: 192.168.42.42 token: YOUR_TOKEN slot: 1 timeout: 30 commands: activate_towel_heater: command: - raw:base64:[optional_frequency] read_bad_poem: command: - raw:base64:[optional_frequency] - pronto:pronto_hex:[optional_repeat]注意xiaomi_miio家族设备众多请务必确认接入的确实是红外遥控器ChuangmiIr而非温湿度计、扫地机等其他设备。官方文档列出了至少 4 个可通过默认主机名识别的版本chuangmi.ir.v2、chuangmi.remote.h102a03、chuangmi.remote.v2、chuangmi.remote.h102c01。其中 Pronto Hex 编码目前仅在第一版chuangmi.ir.v2上可用。通过可视化界面学习一条命令如果你习惯在界面中构建自动化与脚本无需编写 YAML。按照动作文档给出的步骤操作即可进入SettingsAutomations scenes设置 自动化与场景打开一个已有的自动化或脚本或者选择Create automationCreate new automation创建自动化 创建新自动化如果新建的是自动化需要在When何时区块添加触发器脚本则不需要触发器——它们在被其他动作调用时才会运行在Then do然后执行区块选择Add action添加动作选择你要控制的对象在By target按目标参见下方 Targets 一节中选择要控制的小米红外遥控器在目标对应的动作列表中选择Remote learn command可选地设置Slot槽位与Timeout超时时间选择Save保存。保存后运行该自动化或脚本设备即进入学习模式此时对准小米红外遥控器按下实体遥控器的按键学习到的命令会以通知形式出现在 Overview 中。界面中的选项选项说明Slot学习到的 IR 命令要保存到的存储槽位Timeout等待学习命令的最长时间秒超时则放弃通过 YAML 调用动作在 YAML 中自动化、脚本或蓝图内部该动作的引用名称为xiaomi_miio.remote_learn_command。动作文档给出的基础示例如下action: xiaomi_miio.remote_learn_command target: entity_id: remote.xiaomi_miio_remote data: slot: 1 timeout: 30这段配置的作用是让remote.xiaomi_miio_remote进入学习模式将学习到的命令保存到槽位 1并最多等待 30 秒。YAML 中的参数参数说明是否必填类型默认值slot学习到的 IR 命令要保存到的存储槽位否integer1timeout等待学习命令的最长时间秒超时则放弃否integer10值得注意的一个细节动作层面的timeout默认值是 10 秒而平台配置层的timeout默认值是 30 秒。如果你在configuration.yaml中没有单独配置过超时调用动作时又不显式传入timeout实际等待学习的时间按 10 秒计若要覆盖默认行为请始终在动作数据中显式指定。目标Targets的解析规则该动作必须指定目标target目标即动作的作用对象。你既可以指向单个实体也可以指向设备、区域、楼层或标签Home Assistant 会对目标背后所有匹配的remote实体执行动作Entity实体某个具体的remote实体例如remote.living_roomDevice设备某设备下所有的remote实体Area区域某个房间或区域内的所有remote实体Floor楼层某一楼层上的所有remote实体Label标签共享同一标签的所有remote实体。你也可以在同一动作中混合多种目标类型例如同时加入一个具体实体和一个区域动作会同时作用于二者。学习到的命令如何使用学习动作本身只是“采集红外码”的第一步真正发挥价值的是将采集到的编码喂给remote.send_command发送。集成文档对学习产物与发送机制给出了明确的说明。学习结果的呈现动作执行完成后学习到的命令会以base64 字符串的形式作为通知显示在 Overview 中你可以直接复制。集成文档在remote.send_command一节中明确指出“To learn a new command, use the Remote learn command action. After learning, the base64 string is shown as a notification in Overview, where you can copy it.”Raw 命令格式remote.send_command支持两种命令格式其中Raw格式正是由remote_learn_command学习得到的编码。它形如raw:Z6UFANEAAAAjAQAAAwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIAE可选地可以在末尾追加载波频率参数raw:Z6UFANEAAAAjAQAAAwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIAE:38400Pronto Hex 命令格式另一种格式是Pronto Hex通常由设备厂商直接提供无需学习。它的样子是pronto:0000 006C 0022 0002 015B 00AD 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0623 015B 0057 0016 0E6E对于某些设备可在末尾追加重复次数参数pronto:0000 006C 0022 0002 015B 00AD 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0623 015B 0057 0016 0E6E:2槽位的复用特性集成文档特别说明了一个容易被忽略的行为学习到同一槽位的命令即使被覆盖仍然可以通过remote.send_command发送。也就是说槽位中保存的编码在后续学习中会被新编码覆盖但旧编码只要你还保留着副本就依然可用——这为在多个槽位间轮换、批量学习提供了灵活性。将学习命令接入自动化与仪表盘学习到编码后最典型的落地方式有三种。方式一在脚本中定义具名命令并调用script: towel_heater: sequence: - action: remote.send_command target: entity_id: remote.bathroom_remote data: command: - activate_towel_heater这里command引用的是configuration.yaml中commands下定义的具名命令如activate_towel_heater也可以直接传入raw:...或pronto:...编码。方式二将具名命令绑定为仪表盘实体按钮type: entity-button tap_action: action: call-service action: remote.send_command data: command: activate_towel_heater entity_id: remote.xiaomi_miio_ir hold_action: action: more-info show_icon: true show_name: true entity: remote.xiaomi_miio_ir icon: mdi:radiator name: Activate Towel Heater方式三完整的自动化闭环——先学习后发送。例如在自动化中先触发学习动作把新遥控器的按键存入槽位再通过remote.send_command立即复现该信号action: xiaomi_miio.remote_learn_command target: entity_id: remote.xiaomi_miio_ir data: slot: 1 timeout: 30与相关动作配合使用动作文档将以下两个动作列为与本动作协同使用的最佳拍档Remote set LED on打开小米红外遥控器的蓝色状态 LED可用于学习或调试时确认设备在线Remote set LED off关闭蓝色状态 LED。典型的调试流程是先通过 LED 动作确认遥控器响应正常再执行学习动作等待 Overview 中的通知确认学习成功。立即验证与排障建议无需编写任何 YAML你可以直接在SettingsToolsActions设置 工具 动作中搜索xiaomi_miio.remote_learn_command填入字段并点击Perform action执行动作在真实实体上观察效果。几个实用的排障思路学习超时没有收到通知确认遥控器与手机/网关距离足够近、实体遥控器电量充足并适当调大timeout动作层默认仅 10 秒学习成功但发送无效检查学习时是否对准了红外发射口必要时使用带频率参数的raw:...:38400格式重试多个遥控器并存为每台设备分配独立的slot避免不同设备的编码互相覆盖Pronto Hex 无法发送该格式目前仅支持chuangmi.ir.v2版本其他版本请改用 raw 学习方式。至此你已经掌握了从设备接入、命令学习、编码理解到自动化落地的完整链路可以开始把家中任何红外设备纳入 Home Assistant 的统一控制了。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价