查看: 6041|回复: 11
[技术探讨]
浴霸开关diy并接入ha
[复制链接]
silas3082
silas3082
当前在线
积分4792
金钱4133
威望0
贡献0
HASS币30
91
主题568
回帖4792
积分
论坛元老
积分4792
金钱4133
HASS币30
发消息
电梯直达
楼主
发表于 2022-1-11 23:33:05
|
只看该作者
|倒序浏览
|阅读模式
本帖最后由 silas3082 于 2022-4-1 12:58 编辑
简单记录下浴霸、热水器改造过程。(因改造的过程中没有拍照也没画图,只能以文字描述了)
改造浴霸、热水器实现功能:
1.通过esphome 接入homeassistant,并且接入小爱同学,可以语音控制、ha前置面板控制;
2.可以通过本地触摸开关控制。
3.卫生间温湿度计实时查看,并且可以根据温湿度实现进一步自动化。
4.热水器接入ha,实现当前水温、加热时间等信息的显示及播报,加热完毕自动关闭及播报自动化。
需要的硬件:热水器、浴霸,esp8266 nodemcu,五路继电器、220转5V模块,dht11,杜邦线,触摸开关(4个)、空白面板
一、esp8266配置:
esohome代码如下:
esphome:
name: yuba
esp8266:
board: nodemcuv2
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
password: "7384f2eb735f9b1da4d3f41d09fc80de"
wifi:
ssid: "XXXXXXX"
password: "XXXXXXXX"
fast_connect: 'true'
reboot_timeout: 30s
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Yuba Fallback Hotspot"
password: "xzYvvTK2D2x9"
captive_portal:
switch:
- platform: gpio
pin: D1
name: "yblightname"
id: yblight
restore_mode: ALWAYS_OFF
- platform: gpio
pin: D2
name: "ybhuanqiname"
id: huanqi
restore_mode: ALWAYS_OFF
- platform: gpio
pin: D3
name: "ybchuifengname"
id: chuifeng
restore_mode: ALWAYS_OFF
on_turn_off: #这里为了防止吹风关闭,风暖没关造成干烧的情况,很重要!!!
- if:
condition:
switch.is_on: fengnuan
then:
- switch.turn_off: fengnuan
- platform: gpio
pin: D4
name: "ybfengnuanname"
id: fengnuan
restore_mode: ALWAYS_OFF
on_turn_on:
- switch.turn_on: chuifeng #这里打开风暖的时候打开吹风,不然造成干烧的情况,很重要!!!
on_turn_off:
- switch.turn_off: chuifeng
- platform: gpio
pin: D0
name: "reshuiqiname"
id: reshuiqi
restore_mode: ALWAYS_OFF
binary_sensor:
- platform: gpio
pin:
number: D5
mode:
input: true
pullup: true
name: "chumokaiguan-yblight"
device_class: opening
filters:
- delayed_on_off: 100ms #这里一定要加这个这个起到滤波的作用。
on_press:
then:
- switch.toggle: yblight
- platform: gpio
pin:
number: D6
mode:
input: true
pullup: true
name: "chumokaiguan-huanqi"
device_class: opening
filters:
- delayed_on_off: 100ms #这里一定要加这个这个起到滤波的作用。
on_press:
then:
- switch.toggle: huanqi
- platform: gpio
pin:
number: D7
mode:
input: true
pullup: true
name: "chumokaiguan-chuifeng"
device_class: opening
filters:
- delayed_on_off: 100ms #这里一定要加这个这个起到滤波的作用。
on_press:
then:
- switch.toggle: chuifeng
- if:
condition:
switch.is_on: fengnuan #这里为了防止风暖打开,没开吹风造成干烧的情况,很重要!!!
then:
- switch.turn_off: fengnuan
- platform: gpio
pin:
number: D8
mode:
input: true
pullup: true
name: "chumokaiguan-fengnuan"
device_class: opening
filters:
- delayed_on_off: 100ms #这里一定要加这个这个起到滤波的作用。
on_press:
then:
- switch.toggle: fengnuan
sensor:
- platform: dht
pin: RX
temperature:
name: "BathRoom Temperature"
humidity:
name: "BathRoom Humidity"
update_interval: 2s
二:浴霸硬件连接
原始功能介绍:我家浴霸是普通三无浴霸,目前的功能就是:灯、吹风、换气、风暖1、风暖2 五个功能及五个按键
(改造前务必断开电源操作!!)
(改造前务必断开电源操作!!)
(改造前务必断开电源操作!!)
改造接线:
1.触摸面板改造:4个触摸开关,空白面板。 触摸开关的vcc,gnd,out分别焊接上杜邦线,将4个vcc,4个gnd合并到一个vcc,gnd上,用热熔胶将四个触摸开关粘在空白面板背面合适位置;
2. 机械开关替换: 拆下原有的机械开关,出现灯、吹风、换气、风暖1、风暖2 五个功能线及一条火线进线,因为nodemcu端口不够用,我把风暖1和风暖2合并为一个“风暖”按键。将灯、吹风、换气、风暖1的控制线分别接到触摸面板的触摸开关四个out,还剩火线进和风暖2两条线分别接触摸开关的vcc和gnd,至此,触摸开关部分完成。
3.esp8266接线:打开卫生间吊顶,将控制线和浴霸进线断开,在浴霸进线端将风暖1、风暖2的进线合并为一条线,在控制线端,将从触摸开关来的灯、吹风、换气、风暖四条线分别接nodemcu的D5,D6,D7,D8引脚,断开原来的火线进,将控制线上原来的火线、风暖2控制线分别接nodemcu 3.3V和gnd引脚给触摸开关供电。D0,D1,D2,D3,D4引脚分别接五路继电器的输入(D0控制热水器,D1控制灯,D2控制换气,D3控制吹风,D4控制暖风),从nodemcus上找个VV和GND给继电器供电。
4.高压转5V电压及继电器接线:在吊顶上找到一组零火线,接到220转5V模块,输出的5V接nodemcu。并且另外引出一条零火线,零线接浴霸零线进,火线接继电器一路的中间的端子(其余三路中间端子用断线连接),常开端接浴霸进线的灯、吹风、换气、风暖(热水器稍后说)
5.热水器比较特殊,我家的热水器电源和浴霸的电源不属于同一条零火线,所以步骤4的零火线不能来控制热水器(我之前用上述火线接到继电器控制,合上闸就跳闸,可能是漏报检测到电流不平衡的原因吧)。我在墙上装了一个开关来控制热水器通断,现在还想保留原有的开关。具体操作:在吊顶上找到控制热水器那一路火线(零线不用动),之前是火线进--开关--火线出--热水器,现在在火线出--热水器的位置断开,热水器进线端接继电器公共端,火线出接继电器的常闭(这样就保证了本地开关正常控制热水器通断),常开端接火线进(当继电器闭合的时候接通火线和热水器,热水器通电)
6.温湿度传感器连接:将DHT11 连接到nodemcu vcc,gnd,RX端口。
至此全部改造完成
成品在这里
【改装浴霸接入homeassistant,实现本地,语音,软件三种控制方式-哔哩哔哩】 https://b23.tv/3lW2v4
i
三、自动化部分主要通过ha自带的自动化和nodered来实现
登录/注册后可看大图
登录/注册后可看大图
收藏3
回复
使用道具
举报
telanx
telanx
当前离线
积分2211
金钱1575
威望0
贡献0
HASS币0
15
主题621
回帖2211
积分
金牌会员
金牌会员, 积分 2211, 距离下一级还需 789 积分
金牌会员, 积分 2211, 距离下一级还需 789 积分
积分2211
金钱1575
HASS币0
发消息
沙发
发表于 2022-1-11 23:41:24
|
只看该作者
牛嘿,大佬厉害
回复
使用道具
举报
tiani
tiani
当前离线
积分1371
金钱1054
威望0
贡献0
HASS币0
54
主题263
回帖1371
积分
金牌会员
金牌会员, 积分 1371, 距离下一级还需 1629 积分
金牌会员, 积分 1371, 距离下一级还需 1629 积分
积分1371
金钱1054
HASS币0
发消息
板凳
发表于 2022-1-12 00:54:00
来自手机
|
只看该作者
是改zigbee开关吗?
回复
使用道具
举报
情非殇
情非殇
当前离线
积分9241
金钱7077
威望0
贡献0
HASS币30
27
主题2132
回帖9241
积分
论坛元老
积分9241
金钱7077
HASS币30
发消息
地板
发表于 2022-1-12 08:16:04
|
只看该作者
这样不会太丑么,哈哈哈
回复
使用道具
举报
silas3082
silas3082
当前在线
积分4792
金钱4133
威望0
贡献0
HASS币30
91
主题568
回帖4792
积分
论坛元老
积分4792
金钱4133
HASS币30
发消息
5#
楼主|
发表于 2022-1-12 08:22:18
|
只看该作者
tiani 发表于 2022-1-12 00:54
是改zigbee开关吗?
esphome做的
回复
使用道具
举报
silas3082
silas3082
当前在线
积分4792
金钱4133
威望0
贡献0
HASS币30
91
主题568
回帖4792
积分
论坛元老
积分4792
金钱4133
HASS币30
发消息
6#
楼主|
发表于 2022-1-13 08:28:20
|
只看该作者
情非殇 发表于 2022-1-12 08:16
这样不会太丑么,哈哈哈
在里边看不到
回复
使用道具
举报
zxyny1989
zxyny1989
当前离线
积分5911
金钱3709
威望0
贡献0
HASS币60
33
主题2169
回帖5911
积分
论坛元老
积分5911
金钱3709
HASS币60
发消息
7#
发表于 2022-2-1 14:27:21
|
只看该作者
看了一圈,我还是入手了峥果的浴霸面板。
我不生产技术,我只是技术的搬运工。
回复
使用道具
举报
silas3082
silas3082
当前在线
积分4792
金钱4133
威望0
贡献0
HASS币30
91
主题568
回帖4792
积分
论坛元老
积分4792
金钱4133
HASS币30
发消息
8#
楼主|
发表于 2022-2-10 21:59:11
|
只看该作者
成品在这里
【改装浴霸接入homeassistant,实现本地,语音,软件三种控制方式-哔哩哔哩】 https://b23.tv/3lW2v4i
回复
使用道具
举报
silas3082
silas3082
当前在线
积分4792
金钱4133
威望0
贡献0
HASS币30
91
主题568
回帖4792
积分
论坛元老
积分4792
金钱4133
HASS币30
发消息
9#
楼主|
发表于 2022-4-1 11:08:43
|
只看该作者
esphome:
name: yuba
esp8266:
board: nodemcuv2
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
password: "7384f2eb735f9b1da4d3f41d09fc80de"
wifi:
ssid: "XXXXXXX"
password: "XXXXXXXX"
fast_connect: 'true'
reboot_timeout: 30s
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Yuba Fallback Hotspot"
password: "xzYvvTK2D2x9"
captive_portal:
switch:
- platform: gpio
pin: D1
name: "yblightname"
id: yblight
restore_mode: ALWAYS_OFF
- platform: gpio
pin: D2
name: "ybhuanqiname"
id: huanqi
restore_mode: ALWAYS_OFF
- platform: gpio
pin: D3
name: "ybchuifengname"
id: chuifeng
restore_mode: ALWAYS_OFF
on_turn_off:
- if:
condition:
switch.is_on: fengnuan
then:
- switch.turn_off: fengnuan
- platform: gpio
pin: D4
name: "ybfengnuanname"
id: fengnuan
restore_mode: ALWAYS_OFF
on_turn_on:
- switch.turn_on: chuifeng
on_turn_off:
- switch.turn_off: chuifeng
- platform: gpio
pin: D0
name: "reshuiqiname"
id: reshuiqi
restore_mode: ALWAYS_OFF
binary_sensor:
- platform: gpio
pin:
number: D5
mode:
input: true
pullup: true
name: "chumokaiguan-yblight"
device_class: opening
filters:
- delayed_on_off: 100ms #这里一定要加这个这个起到滤波的作用。
on_press:
then:
- switch.toggle: yblight
- platform: gpio
pin:
number: D6
mode:
input: true
pullup: true
name: "chumokaiguan-huanqi"
device_class: opening
filters:
- delayed_on_off: 100ms #这里一定要加这个这个起到滤波的作用。
on_press:
then:
- switch.toggle: huanqi
- platform: gpio
pin:
number: D7
mode:
input: true
pullup: true
name: "chumokaiguan-chuifeng"
device_class: opening
filters:
- delayed_on_off: 100ms #这里一定要加这个这个起到滤波的作用。
on_press:
then:
- switch.toggle: chuifeng
- if:
condition:
switch.is_on: fengnuan
then:
- switch.turn_off: fengnuan
- platform: gpio
pin:
number: D8
mode:
input: true
pullup: true
name: "chumokaiguan-fengnuan"
device_class: opening
filters:
- delayed_on_off: 100ms #这里一定要加这个这个起到滤波的作用。
on_press:
then:
- switch.toggle: fengnuan
sensor:
- platform: dht
pin: RX
temperature:
name: "BathRoom Temperature"
humidity:
name: "BathRoom Humidity"
update_interval: 2s
回复
使用道具
举报
reenmi
reenmi
当前离线
积分176
金钱132
威望0
贡献0
HASS币0
9
主题35
回帖176
积分
注册会员
注册会员, 积分 176, 距离下一级还需 24 积分
注册会员, 积分 176, 距离下一级还需 24 积分
积分176
金钱132
HASS币0
发消息
10#
发表于 2022-6-28 21:47:10
|
只看该作者
mark一下,学习中
回复
使用道具
举报