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

 找回密码
 立即注册
查看: 5263|回复: 19

[硬件DIY] 普通风扇改智能

[复制链接]

16

主题

59

帖子

636

积分

论坛分享达人

积分
636
金钱
577
HASS币
10
发表于 2023-5-11 21:31:25 | 显示全部楼层 |阅读模式
风扇型号:美的FS40-11D4
三个档位,摇头是齿轮传动,只能手动。
准备材料:
我没用AC转DC,风扇空间有限装不进去,直接用USB线接出来的。

接线:
       123.jpg
把原来按键控制电机的线剪断,按键面板的线接在nodemcu的D5 D6 D7上,物理按键的公共线(按一下能关风扇的这个开关接出来的线)接在nodemcu的G上,电机那边的3根档位线分别接在3路继电器的3个NO常开端子上,风扇插头的火线接在继电器的COM口上,继电器的3个COM口要串起来,nodemcu的3v和G接在继电器的DC+和DC-上,nodemcu的D0 D1 D2分别接在继电器的IN1 IN2 IN3。

esphome编译:

esphome:
  name: jidianqi
  friendly_name: 风扇档位

esp8266:
  board: nodemcuv2

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "dO8f6OaNQV/q0BACr9gYlYUrFlcbWDSvqhU="   #自动生成

ota:
  password: "111233213" #自动生成

wifi:
  ssid: "11"#改成自己的WIFI名字
  password: "4444442224" #改成自己的WIFI密码

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Jidianqi Fallback Hotspot"   #自己改
    password: "ShdhUCjmMge4"  #自己改

captive_portal:

web_server:  
  port: 80

switch:
  - platform: gpio
    pin: D0
    name: "LOW"
    id: relay1
  - platform: gpio
    pin: D1
    name: "MID"
    id: relay2
  - platform: gpio
    pin: D2
    name: "HIGH"
    id: relay3
  - platform: gpio
    pin: D3
    name: "SOH"
    id: relay4

binary_sensor:
  - platform: gpio
    name: "Switch1"
    id: "SW1"
    pin:
      number: D4
      inverted: True
      mode: INPUT_PULLUP
    on_press:
      then:
        - switch.toggle:
           id: relay1

  - platform: gpio
    name: "Switch2"
    id: "SW2"
    pin:
      number: D5
      inverted: True
      mode: INPUT_PULLUP
    on_press:
      then:
        - switch.toggle:
           id: relay2

  - platform: gpio
    name: "Switch3"
    id: "SW3"
    pin:
      number: D6
      inverted: True
      mode: INPUT_PULLUP
    on_press:
      then:
        - switch.toggle:
           id: relay3

  - platform: gpio
    name: "Switch4"
    id: "SW4"
    pin:
      number: D7
      inverted: True
      mode: INPUT_PULLUP
    on_press:
      then:
        - switch.toggle:
           id: relay4


做完刷进nodemcu。

nodered设置:
AAAs.jpg

NODERED流.zip (2.13 KB, 下载次数: 13)
这样就能物理按键状态和WEB按键状态同步,有点不好的就是物理按键按下去只能手动弹起,但是不影响远程控制,即使按键按下去或者没按下去都可以远程控制。








评分

参与人数 4金钱 +48 HASS币 +10 收起 理由
lqf1206 + 8 在下对你的景仰犹如滔滔长江之水,连绵不绝.
+ 20 + 10 厉害了word楼主!
隔壁的王叔叔 + 10 厉害了word楼主!
sorrypqa + 10 大神666!

查看全部评分

回复

使用道具 举报

2

主题

52

帖子

224

积分

中级会员

Rank: 3Rank: 3

积分
224
金钱
172
HASS币
0
发表于 2023-5-11 21:41:20 | 显示全部楼层
666,来学习学习
回复

使用道具 举报

5

主题

471

帖子

2114

积分

金牌会员

Rank: 6Rank: 6

积分
2114
金钱
1643
HASS币
0
发表于 2023-5-11 22:09:03 | 显示全部楼层
如果继电器没有硬互锁,建议程序里面都要互锁一下。摇头电机网上有电动的,一样可以改。我还加了温度跟红外人体感应。自动启停。自动化就在esp里面完成。或者自动化在ha里面,跟房间的人体感应、空调联动。不用人管。
回复

使用道具 举报

5

主题

471

帖子

2114

积分

金牌会员

Rank: 6Rank: 6

积分
2114
金钱
1643
HASS币
0
发表于 2023-5-11 22:11:54 | 显示全部楼层
alias: 风扇自动化
description: 风扇自动化
trigger:
  - platform: template
    value_template: >-
      {{ is_state('binary_sensor.tuyatec_2gn2zf9e_rh3040_iaszone', 'on')  and
      is_state('input_boolean.kong_diao_shan_ke_ting_ci_wo_qie_huan', 'off')}}
  - platform: template
    value_template: >-
      {{ is_state('binary_sensor.tuyatec_aovdiasu_rh3040_iaszone', 'on')   or
      is_state('binary_sensor.guangmingzhuangtai', 'on') and
      is_state('input_boolean.kong_diao_shan_ke_ting_ci_wo_qie_huan', 'on') }}
condition:
  - or:
      - and:
          - "{{ is_state('input_boolean.feng_shan_shou_dong_kai_guan', 'on')}}"
          - >-
            {{ is_state('input_boolean.kong_diao_shan_ke_ting_ci_wo_qie_huan',
            'on') }}
          - "{{  now() > today_at(\"5:30\") and now() < today_at(\"22:00\")  }}"
      - and:
          - "{{ is_state('input_boolean.feng_shan_shou_dong_kai_guan', 'on')}}"
          - >-
            {{is_state('input_boolean.kong_diao_shan_ke_ting_ci_wo_qie_huan',
            'off')}}
          - "{{  now() < today_at(\"5:30\") or now() > today_at(\"22:00\")  }}"
action:
  - repeat:
      sequence:
        - choose:
            - conditions:
                - "{{ 30 > states('sensor.fengshanwendu')|int >= 26 }}"
                - "{{ is_state('switch.fengshang1', 'off')}}"
              sequence:
                - service: switch.turn_on
                  data: {}
                  target:
                    entity_id: switch.fengshang1
        - choose:
            - conditions:
                - "{{ 33 > states('sensor.fengshanwendu')|int >= 30 }}"
                - "{{ is_state('switch.fengshang2', 'off')}}"
              sequence:
                - service: switch.turn_on
                  data: {}
                  target:
                    entity_id: switch.fengshang2
        - choose:
            - conditions:
                - "{{  states('sensor.fengshanwendu')|int >= 36 }}"
                - "{{ is_state('switch.fengshang3', 'off')}}"
              sequence:
                - service: switch.turn_on
                  data: {}
                  target:
                    entity_id: switch.fengshang3
        - choose:
            - conditions:
                - "{{ is_state('switch.yaotou', 'off')}}"
                - or:
                    - "{{ is_state('switch.fengshang1', 'on')}}"
                    - "{{ is_state('switch.fengshang2', 'on')}}"
                    - "{{ is_state('switch.fengshang3', 'on')}}"
              sequence:
                - service: switch.turn_on
                  data: {}
                  target:
                    entity_id: switch.yaotou
        - delay: "00:01:00"
      until:
        - or:
            - and:
                - >-
                  {{ ((as_timestamp(now())
                  -as_timestamp(states.binary_sensor.tuyatec_aovdiasu_rh3040_iaszone.last_changed))/60)|float|
                  round(0)>=20 and
                  is_state('binary_sensor.tuyatec_aovdiasu_rh3040_iaszone',
                  'off') }}
                - >-
                  {{ ((as_timestamp(now())
                  -as_timestamp(states.binary_sensor.guangmingzhuangtai.last_changed))/60)|float|
                  round(0)>=20 and is_state('binary_sensor.guangmingzhuangtai',
                  'off') }}
                - "{{  now() > today_at(\"5:30\") and now() < today_at(\"22:00\")  }}"
                - >-
                  {{is_state('input_boolean.feng_shan_shou_dong_kai_guan',
                  'on')}}
                - >-
                  {{is_state('input_boolean.kong_diao_shan_ke_ting_ci_wo_qie_huan',
                  'on')}}
            - and:
                - >-
                  {{ ((as_timestamp(now())
                  -as_timestamp(states.binary_sensor.tuyatec_2gn2zf9e_rh3040_iaszone.last_changed))/60)|float|
                  round(0)>=40 and
                  is_state('binary_sensor.tuyatec_2gn2zf9e_rh3040_iaszone',
                  'off') }}
                - "{{  now() < today_at(\"5:30\") or now() > today_at(\"22:00\")  }}"
                - >-
                  {{ is_state('input_boolean.feng_shan_shou_dong_kai_guan',
                  'on') }}
                - >-
                  {{is_state('input_boolean.kong_diao_shan_ke_ting_ci_wo_qie_huan',
                  'off')}}
            - "{{ is_state('input_boolean.feng_shan_shou_dong_kai_guan', 'off')}}"
            - "{{ states('sensor.fengshanwendu_2')|int < 26 }}"
  - service: switch.turn_on
    data: {}
    target:
      entity_id: switch.fengshang0
  - service: switch.turn_off
    data: {}
    target:
      entity_id: switch.yaotou
mode: single

评分

参与人数 1金钱 +10 收起 理由
隔壁的王叔叔 + 10 高手,这是高手!

查看全部评分

回复

使用道具 举报

51

主题

1341

帖子

5617

积分

论坛DIY达人

积分
5617
金钱
4276
HASS币
20
发表于 2023-5-11 22:21:03 | 显示全部楼层
hyq 发表于 2023-5-11 22:11
alias: 风扇自动化
description: 风扇自动化
trigger:

我的天,自动化看起来很复杂呀!可以分享一下ESPHome的配置吗?先谢谢!
回复

使用道具 举报

5

主题

471

帖子

2114

积分

金牌会员

Rank: 6Rank: 6

积分
2114
金钱
1643
HASS币
0
发表于 2023-5-11 22:21:42 | 显示全部楼层
回复

使用道具 举报

5

主题

471

帖子

2114

积分

金牌会员

Rank: 6Rank: 6

积分
2114
金钱
1643
HASS币
0
发表于 2023-5-11 22:24:25 | 显示全部楼层
替换原来的机械按键:https://item.taobao.com/item.htm ... amp;_u=b1s9opga23b2[/url]
回复

使用道具 举报

5

主题

471

帖子

2114

积分

金牌会员

Rank: 6Rank: 6

积分
2114
金钱
1643
HASS币
0
发表于 2023-5-11 22:25:31 | 显示全部楼层
用这个改装个人感觉比继电器好。https://item.taobao.com/item.htm ... ;abbucket=17#detail
回复

使用道具 举报

46

主题

640

帖子

3833

积分

论坛元老

Rank: 8Rank: 8

积分
3833
金钱
3193
HASS币
0
发表于 2023-5-11 22:58:40 | 显示全部楼层
哇,天气热了大家都来改电风扇啦,我也刚改了一个,楼主这个开一档锁闭23档,这个互锁可以直接写到esphome代码里不需要nr再做调整。另外我也想人在和温度直接装电风扇,不过如果调用ha那我何必塞那么多东西进去,家里其他感应完全可以替代。如果想做个离线都可以自动化的温度和人在联动自动化代码直接写入esphome的我又感觉不靠谱,误判难免不该开自己开关都关不掉,就鸡肋了,所以还是算了,不加人在和温度
回复

使用道具 举报

22

主题

612

帖子

2759

积分

金牌会员

Rank: 6Rank: 6

积分
2759
金钱
2147
HASS币
0
发表于 2023-5-12 11:43:09 | 显示全部楼层
我有个红外遥控的电风扇,想改成WIFI的有方案吗?我觉得一个esphome不用继电器硬件就可以,奈何不会编程。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-27 14:35 , Processed in 0.467686 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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