『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 227|回复: 3

[求助] 请问 esphome+esp8622 红外遥控怎样发射 “长按”信号呢?

[复制链接]

31

主题

119

帖子

523

积分

高级会员

Rank: 4

积分
523
金钱
404
HASS币
0
发表于 2024-3-31 09:06:06 | 显示全部楼层 |阅读模式
本帖最后由 inevitab 于 2024-3-31 09:12 编辑

想用 esp8266 控制热水器上面的增加温度的按钮,

在我的热水器上,连续重复按增加温度的按钮,温度会升到最高然后回到最低再升到最高,而长按,温度升到最高后就不动了。我需要实现长按的功能。


我先是用下面的代码来检测原遥控器增加温度按钮发出的信号:

remote_receiver:
  pin: 
    number: GPIO14
    inverted: True
    mode: INPUT_PULLUP
  dump: nec

原遥控器无论是短按还是长按,检测到的信号都是:
address=0xCF00, command=0x6996 command_repeats=1

然后我用这个代码可以成功控制热水器增加温度:
remote_transmitter:
  pin: GPIO4
  carrier_duty_percent: 50%

switch:         
  - platform: template
    name: "ir_switch_test_01"
    id: "ir_switch_test_01"
    turn_on_action:
      - while:
          condition:
            - lambda: return id(ir_transmit_count) < 50;
          then:
            - remote_transmitter.transmit_nec:
                address: 0xCF00
                command: 0x6996
                command_repeats: 1
            - delay: 20ms
            - lambda: id(ir_transmit_count) += 1;
      - lambda: id(ir_transmit_count) = 0;  # 重置计数器

但是这个代码实现的效果是“连续重复点击”,不是“长按”,请问要怎样改成“长按”呢?

已测试这样不行:
switch:         
  - platform: template
    name: "ir_switch_test_01"
    id: "ir_switch_test_01"
    turn_on_action:
    - remote_transmitter.transmit_nec:
        address: 0xCF00
        command: 0x6996
        command_repeats: 9999999






回复

使用道具 举报

1

主题

39

帖子

246

积分

中级会员

Rank: 3Rank: 3

积分
246
金钱
207
HASS币
0
发表于 2024-4-1 11:37:16 | 显示全部楼层
本帖最后由 二十四书生 于 2024-4-1 11:39 编辑

nec有专用的重复码,长按遥控器按钮之后,遥控器会发射对应的按键码,再周期(100ms)发射重复码,直到松开按键(不过好像也有按键会连续发射几秒就停的)
回复

使用道具 举报

31

主题

119

帖子

523

积分

高级会员

Rank: 4

积分
523
金钱
404
HASS币
0
 楼主| 发表于 2024-4-1 14:18:25 | 显示全部楼层
二十四书生 发表于 2024-4-1 11:37
nec有专用的重复码,长按遥控器按钮之后,遥控器会发射对应的按键码,再周期(100ms)发射重复码,直到松开 ...

是的,但是不知道在esphome里怎样实现。
回复

使用道具 举报

25

主题

224

帖子

1015

积分

金牌会员

007潜水了

Rank: 6Rank: 6

积分
1015
金钱
791
HASS币
0
发表于 2024-4-1 21:03:19 | 显示全部楼层
类似的以前有个问题:esphome gpio按键长按实现 亮度的渐变调节 不知道咋弄

timing
  on for at least 2s
  then 后面只能触发一次
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-8 00:59 , Processed in 0.313854 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表