fjetv 2021-06-27 17:01 采纳率: 0%
浏览 113

用esphome做红外遥控器接入homeassistant,为什么只有一个按键

用8266刷个esphome固件,内含如下语句:

remote_transmitter:
  pin: 
    number: 4
  carrier_duty_percent: 50%
switch:
  - platform: template
    name: "静音"
    id: mute1
    turn_on_action:
      remote_transmitter.transmit_nec:
        address: 19382
        command: 41055
  - platform: template
    name: "音量—"
    id: vols1
    turn_on_action:
      remote_transmitter.transmit_nec:
        address: 19382
        command: 49251
  - platform: template
    name: "音量+"
    id: vola1
    turn_on_action:
      remote_transmitter.transmit_nec:
        address: 19382
        command: 16575

想在hass中实现音量+、音量-和静音键3个功能键,结果只出现最后一个音量+的按键,

但是功能却是静音键的功能,求大神点拨,谢谢

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-03-06 15:59
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    根据所提供的代码,目前只有最后一个音量+的按键能够被识别,且其功能与静音键相同。可能的原因有:
    1. 遥控器信号没有被正确捕获:首先需要确认遥控器信号是否被正确地捕获并解码。可以使用实时日志来监视遥控器信号的输入,以及用一个可见光或红外线摄像头来检查红外遥控器是否发出信号。
    2. 代码中的命令重复:代码中的三个按键命令的地址都相同,这意味着它们都将发送到同一个设备。如果这个设备无法区分不同的命令,它可能会默认将它们解释为相同的命令。 根据官方文档,使用Nec编码时,具有相同地址的命令将被视为相同的命令。因此,它们必须有不同的地址,以便正确解析。 以下是一个示例代码,其中三个命令具有不同的地址:
    remote_transmitter:
      pin:
        number: 4
      carrier_duty_percent: 50%
      # 同时使用红外和射频遥控时,需要明确指定遥控协议。
      # 默认情况下,会尝试自动检测所用的遥控协议。
      # 此处示例使用 NEC 协议。
      NEC:
        address: 001
        data: [10, 20, 30]
    switch:
      - platform: template
        name: "静音"
        id: mute1
        turn_on_action:
          remote_transmitter.transmit_nec:
            address: 001
            data: [40, 50, 60]
      - platform: template
        name: "音量—"
        id: vols1
        turn_on_action:
          remote_transmitter.transmit_nec:
            address: 002
            data: [70, 80, 90]
      - platform: template
        name: "音量+"
        id: vola1
        turn_on_action:
          remote_transmitter.transmit_nec:
            address: 003
            data: [100, 110, 120]
    

    请确保所有遥控器命令都是唯一的,并且您在使用正确的遥控协议。如果问题仍然存在,请检查您的硬件连接和配置文件,并确保您有正确的权限,以便正确地读取和编写代码。

    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵