You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署ioBroker+Node-RED切换HDMI CEC至TV 0.0.0.0失败求助

解决方案

1. 修正CEC指令的源地址与目标地址

切换回TV源时,源地址应使用当前发送指令的设备地址(如HDMI 1的0x4),而非TV的地址0x0;同时目标地址直接指定TV的逻辑地址0x0,避免使用广播地址0x15:

msg.payload = {
    "source": "0x4",
    "target": "0x0",
    "opcode": "0x82",
    "args": "0.0.0.0"
};
return msg;

逻辑地址说明:0x0=TV,0x4=HDMI 1端口设备,广播地址0x15可能被部分电视忽略。

2. 先发送主动源失活指令

部分电视需要先收到当前活跃源的失活通知,才会切换到新源,可添加延迟执行:

// 发送当前源失活指令
msg.payload = {
    "source": "0x4",
    "target": "0x1f", // 全局广播地址
    "opcode": "0x9d",
    "args": "0.0.0.0"
};
// 延迟1秒后发送切换到TV源的指令
setTimeout(() => {
    node.send({
        payload: {
            "source": "0x4",
            "target": "0x0",
            "opcode": "0x82",
            "args": "0.0.0.0"
        }
    });
}, 1000);
return msg;

3. 使用0x44 opcode直接指定输入

如果0x82指令无效,尝试用0x44(设置菜单控制)的扩展参数指定输入,不同电视参数可能不同:

msg.payload = {
    "source": "0x4",
    "target": "0x0",
    "opcode": "0x44",
    "args": "0x00" // 测试0x00/0x01/0x02等,对应TV内置源
};
return msg;

4. 检查插件兼容性

卸载并重新安装node-red-contrib-cec插件,确保与容器内Node.js版本匹配:
在Node-RED管理面板 → 插件管理 → 搜索node-red-contrib-cec,先卸载再重新安装最新版本。


内容的提问来源于stack exchange,提问作者Unregistreirt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 12:15:42