[技术探讨]浴霸开关diy并接入ha

[技术探讨]浴霸开关diy并接入ha

查看: 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一下,学习中

回复

使用道具

举报