新闻详情

新闻详情

首页 / 资讯中心 / 详情

Home Assistant RFXtrx `rfxtrx.send` 动作完整指南:通过 433.92 MHz 射频发送原始事件

发布时间:2026/9/17 6:43:27来源:尧图网络
Home Assistant RFXtrx `rfxtrx.send` 动作完整指南:通过 433.92 MHz 射频发送原始事件
Home Assistant RFXtrxrfxtrx.send动作完整指南通过 433.92 MHz 射频发送原始事件【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io导读rfxtrx.send是 Home Assistant 中 RFXCOM RFXtrx 集成提供的核心动作action用于通过 433.92 MHz 射频收发器向空中发送原始事件数据包十六进制字符串从而模拟遥控器按键、控制未自动接入 Home Assistant 的旧式射频设备例如老式无线插座、门铃、卷帘遥控等。本文以 source/_actions/rfxtrx.send.markdown 为骨架结合 RFXCOM RFXtrx 集成文档 与仓库中的渲染插件实现系统讲解该动作在 UI 与 YAML 两种场景下的完整用法、事件码生成方法、常见自动化示例以及底层原理帮助你在不依赖设备自动发现的情况下直接通过原始射频数据包控制设备。一、动作概述与适用场景rfxtrx.send的动作描述为Sends a raw event over the radio with the RFXtrx device即通过 RFXtrx 设备在无线电上发送一条原始事件。它主要面向以下两类典型场景模拟按钮按下例如模拟遥控器按键触发本应由实体遥控器完成的动作控制未自动加入 Home Assistant 的设备部分旧式遥控插座、卷帘、铃铛等设备无法被 Home Assistant 自动识别为实体此时可跳过设备发现流程直接向设备发送已知的原始事件码即可完成控制。关键事实不支持 targets该动作不支持目标targets。在 UI 中它不会提示你选择区域area、设备device、实体entity或标签label。这一点与大多数面向实体的动作如light.turn_on、switch.toggle有本质区别——rfxtrx.send的操作对象是空中无线电信号而非某个具体实体因此无需也不应指定目标。二、在 UI 中使用rfxtrx.sendHome Assistant 的 UI 构建工具会逐步引导你配置此动作无需编写 YAML。操作步骤如下进入Settings设置 Automations scenes自动化与场景打开一个现有的自动化或脚本或选择Create automation创建自动化Create new automation创建新自动化若在创建新的自动化请在When当……时部分添加一个触发器脚本scripts则不需要触发器它们在被其他内容调用时才运行在Then do则执行部分选择Add action添加动作搜索并选择RFXCOM RFXtrx: Send在Event事件字段中输入一个十六进制字符串选择Save保存。UI 流程说明来自 ui_header 包含文件If you prefer building automations and scripts visually, Home Assistant walks you through this action step by step. You pick what to target, tweak a few options, and save. No YAML knowledge required.UI 中的选项在 UI 中该动作只暴露一个选项选项描述是否必填Event要发送的十六进制字符串例如0b1111e003af16aa10000060必填UI 中的选项渲染由仓库中的 options_ui.rb 插件 实现该插件将{% options_ui %}块中的 YAML 转换为带有名称、必需/可选徽标与描述的可视化选项卡片因此你在界面上看到的字段说明与上表一一对应。三、在 YAML 中使用rfxtrx.send在 YAML 中该动作以rfxtrx.send被引用。基本用法如下action: rfxtrx.send data: event: 0b1111e003af16aa10000060此示例通过在无线电上发送原始事件来模拟按下按钮。YAML 场景的说明来自 yaml_header 包含文件其定位是面向直接编写 YAML、或希望了解 Home Assistant 底层行为的用户提供字段名、类型与必填性的技术参考。YAML 选项参考字段描述是否必填类型event要发送的十六进制字符串例如0b1111e003af16aa10000060必填stringYAML 选项的渲染由 options_yaml.rb 插件 实现它复用共享的ConfigurationBlock渲染逻辑输出与配置变量相同的布局、类型链接和 Required/Optional 徽标。在自动化/脚本中的完整形态在自动化中动作通常与触发器配合使用automation: - alias: Switch on the porch light at sunset triggers: - trigger: sun.sunset actions: - action: rfxtrx.send data: event: 0b1111e003af16aa10000060四、实战示例日落时控制未接入 Home Assistant 的设备原文档给出了一个完整的实战案例当太阳落山时向一个 Home Assistant 无法直接控制的设备例如旧式遥控插座发送原始事件来打开它。触发器TriggerSunset日落动作ActionRFXCOM RFXtrx: SendEvent事件0b1111e003af16aa10000060完整 YAMLautomation: - alias: Switch on the porch light at sunset triggers: - trigger: sun.sunset actions: - action: rfxtrx.send data: event: 0b1111e003af16aa10000060该示例展示了rfxtrx.send的典型用法闭环通过时间/太阳位置等系统触发器在任意时刻向射频设备注入预先采集好的原始事件码。因为发送的是原始无线电数据包无需该设备在 Home Assistant 中注册为实体这正是它区别于普通实体动作的价值所在。五、事件码从哪里来Generate codes 与事件码采集要使用rfxtrx.send最核心的前置条件是获得合法的事件码十六进制字符串。原文档明确指向集成页面的 Generate codes 章节对应仓库文件 rfxtrx.markdown 的 Generate codes 部分其提供两条主要途径5.1 使用模板生成新设备的事件码对于开关和灯光例如 COCO 开关可以在Settings设置 Tools工具 Template模板中使用以下模板生成随机事件码开关ARC 协议0b11000{{ range(100,700) | random | int }}bc0cfe0{{ range(0,10) | random | int }}010f70灯光ARC 协议0b11000{{ range(100,700) | random | int }}bc0cfe0{{ range(0,10) | random | int }}020f70灯光Lightwave RF 协议0a14000{{ range(100,700) | random | int }}bc0cf{{ range(0,10) | random | int }}100f70生成后使用此代码在集成选项菜单中添加一个新开关对应按事件码添加设备功能启动 Home Assistant 并打开网站开启开关的学习模式按下学习按钮或将其插入墙式插座在 Home Assistant 界面中切换你的新开关。注意模板中的range(100,700) | random每次渲染都会生成不同的随机数值因此同一模板可重复用于生成不同设备的独立事件码。5.2 从日志/状态属性采集已有设备的事件码对于已存在的物理设备开启集成选项中的Automatic add自动添加让设备触发一次发送即可在系统日志中看到类似Added binary sensor 0913000022670e013970 (Device_id: 22670e ...)的条目其中包含完整事件码对于已作为开关接入的设备可从开关实体状态属性实体详情窗口底部复制其事件码。5.3 将开关事件码转换为调光事件码要将普通开关转换为可调光灯光通常只需改动事件码中的一个字节ARC0b11000248bc0cfe09 **01** 0f70→0b11000248bc0cfe09 **02** 0f7001为开/调光命令字节02为亮度命令字节LightwaveRF0a14000101f20302 **01** 0080→0a14000101f20302 **10** 0080Waveman710030e4102 **01** 50→710030e4102 **02** 50这些转换后的事件码同样可以直接用于rfxtrx.send。六、Good to know 与常见问题事件码生成开关与灯光的事件码生成方法见 RFXCOM RFXtrx 集成页面的 Generate codes 章节本文第五节已给出可直接使用的模板。发送对象是原始射频数据包rfxtrx.send不依赖设备发现机制因此对于识别不出的老旧设备如老式遥控插座依然有效。不指定目标该动作无 targets 支持配置时只需填写event字段。卡住时的排查思路如果发送事件后设备无响应可参考以下排查方向确认协议已启用RFXcom 收发器默认只启用部分协议且启用协议过多会显著降低接收灵敏度。若你的设备协议未启用例如某些协议只能通过设备配置在每次连接时启用如undecoded发送将失败。参见集成文档的 Supported protocols 章节。确认事件码完整准确十六进制字符串必须逐字节正确可通过日志中自动添加设备时打印的完整事件码进行核对。开启调试日志在configuration.yaml中配置homeassistant.components.rfxtrx: debug与RFXtrx: debug注意RFXtrx区分大小写观察发送路径上的日志输出。先在 Tools工具 Actions动作中试跑打开Settings设置 Tools工具 Actions动作搜索该动作、填入字段并选择Perform action执行动作在不写任何 YAML 的情况下即可在真实实体上观察效果。这一Try it yourself验证方式来自 try_it 包含文件。七、底层原理与实现佐证7.1 动作文档的渲染管线rfxtrx.send的文档页面由 Jekyll 站点构建其 Front Matter 定义如下--- title: Send action: rfxtrx.send domain: rfxtrx description: Sends a raw event over the radio with the RFXtrx device. ---页面中的{% options_ui %}与{% options_yaml %}块分别由 options_ui.rb 和 options_yaml.rb 插件渲染options_ui.rb面向 UI 受众将选项渲染为带必需/可选徽标的可视化卡片options_yaml.rb面向 YAML 受众复用ConfigurationBlockconfiguration.rb渲染类型链接与徽标。两个插件都通过SafeYAML.load解析选项 YAML并强制要求每个选项必须包含description否则抛出ArgumentError——这保证了每个文档化动作的选项都有完整说明。7.2 在集成文档中的关联位置在 RFXCOM RFXtrx 集成文档 中通过 actions.md 包含文件 自动列出该域下的全部动作文档会按ha_domain从site.actions中筛选出rfxtrx域的所有动作并逐一链接rfxtrx.sendSend即其中之一。这也解释了为什么该动作页面与集成页面互为补充集成页面负责设备接入、协议、事件码采集动作页面负责具体的发送动作配置。7.3 与其他 RFXtrx 机制的关系事件接收rfxtrx_event集成文档中的 Events 章节说明当设备开启fire_event参数后接收到的消息会以rfxtrx_event事件形式广播包含packet_type、sub_type、type_string、id_string、data、values等字段。rfxtrx.send是与之对应的发送方向动作——两者共同构成接收-发送的双向射频通道。Somfy RTS 等特殊协议Somfy RTS 设备不支持接收无法自动添加必须在 rfxmngr 工具中配置并记录 ID/Unit Code再以071a0000[id][unit_code]形式的 ID 手动添加设备。这类设备同样可以通过rfxtrx.send发送控制指令。八、总结rfxtrx.send是 Home Assistant 中面向原始射频数据包的发送动作其核心价值在于绕过设备发现即使设备无法自动接入也能通过十六进制事件码直接控制模拟按键可复现任何遥控器按键行为用于自动化联动配置极简仅需一个必填的event字段UI 与 YAML 两套配置方式完全等价。使用该动作的关键在于获得准确的事件码——无论是通过 Template 模板生成新码还是从日志/实体状态属性采集已有设备的码均可配合 Generate codes 章节的指引完成。结合 RFXtrx 集成文档 中关于协议启用、调试日志与事件接收的说明你可以构建出完整可靠的 433.92 MHz 射频设备控制方案。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

UFS逻辑单元管理详解:概念、配置与排障实战 2026/9/17 7:22:33

UFS逻辑单元管理详解:概念、配置与排障实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
ComfyUI云端部署全攻略:从GPU选型到环境配置与实战踩坑 2026/9/17 7:22:33

ComfyUI云端部署全攻略:从GPU选型到环境配置与实战踩坑

把 ComfyUI 搬上云,说难不算难,但一路上的坑绝对不少。很多人觉得云端部署就是把本地那套流程搬到服务器重跑一遍,实际上从 GPU 选型开始,你就已经进入了另一套完全不同的决策逻辑。本地你只关心这张卡能不能跑得动,而…

阅读更多 →
Roc 类型系统深度解析:记录模式从“位置处理”到“按字段名匹配”的穷尽性检查 2026/9/17 7:22:33

Roc 类型系统深度解析:记录模式从“位置处理”到“按字段名匹配”的穷尽性检查

Roc 类型系统深度解析:记录模式从“位置处理”到“按字段名匹配”的穷尽性检查 【免费下载链接】roc A fast, friendly, functional language. 项目地址: https://gitcode.com/GitHub_Trending/ro/roc 本文围绕 Roc 编译器中一个经典类型检查难题展开&#x…

阅读更多 →
OpenSpec规范驱动开发在AI编程中的实践与优化 2026/9/17 7:22:33

OpenSpec规范驱动开发在AI编程中的实践与优化

1. 项目概述:规范驱动开发如何改变AI编程在AI项目开发中,我们常常遇到这样的困境:模型训练代码与业务逻辑深度耦合、团队成员各自为政导致代码风格混乱、模型迭代缺乏统一标准。OpenSpec的出现正是为了解决这些痛点——它通过规范驱动&#x…

阅读更多 →
USB-CAN上位机开发:从CAN总线通信、DBC解析到监控控制 2026/9/17 7:22:33

USB-CAN上位机开发:从CAN总线通信、DBC解析到监控控制

1. 先搞清楚:USB-CAN 上位机到底在干什么1.1 从一条 CAN 报文说起,上位机管的是哪几件事很多人第一次接触这个方向,脑子里想的其实是"写个界面显示数据"。真做起来才发现,显示只是最末端那一环。我做的 P4 这个模块&…

阅读更多 →
程序员子女职业选择:代际传递现象与技术行业影响 2026/9/17 7:19:33

程序员子女职业选择:代际传递现象与技术行业影响

1. 职业代际传递现象观察最近在技术社区看到一个有趣的话题:程序员子女成为程序员的比例究竟有多高?这个问题背后反映的是职业代际传递现象。作为从业十余年的技术人,我观察到身边确实存在不少"码二代"案例,但具体数据如…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞