本帖最后由 jesusya 于 2024-11-24 11:10 编辑
需求场景:
我家是威能壁挂炉烧热水给家中供暖。为了舒适和经济性,按时段设置家中温度并联动壁挂炉是钢需,如:
清晨-开始时间: 6:30 白天-开始时间: 8:00夜晚-开始时间: 16:30睡眠-开始时间: 22:00清晨运行温度: 21.5白天运行温度: 20夜晚运行温度: 21.5睡眠运行温度: 20.5
之前买过500多,威能代理推荐的方案,用了2年厂商倒闭,云服务器失联,自动控制也就失效了,另外这个方案的温度传感器很不准确。自己动手研究了下威能的外控原理,其实就是威能主板上的3 4 端子联通,就让壁挂炉燃烧,断开就停着烧暖气。所以ESP8266做个开关,联动接入HA的家中温度传感器,就可以实现按温度目标设置壁挂炉暖气燃烧了。参考视频 《智能家居 #75 | 依玛壁挂炉接入Hass,实现小米温湿度联动「Home Assistant」》https://www.bilibili.com/video/BV1cS4y1Z7xu/?spm_id_from=333.999.0.0&vd_source=8a60709cc7cfd38a922dba75a25632fd
方案:
硬件:ESP8266 继电器模块,TB就10元成本,刷:ESP-home switch, ESP8266串口WIFI 无线模块 WIF收发无线模块 ESP-01 ESP-01S +
温度传感器是米家的接入HA的方案,网上大把,我是ESP-32开发板 WROOM开发版 WIFI+蓝牙模块 CH9102 ESP32-S烧录夹,刷esp32-bluetooth-proxy,
软件:Homeassistant X86虚拟机,HA官方generic_thermostat,这个软件就是给一个开关实体ID+温度传感器实体ID,就可以按目标温度控制开关恒温设备。我夏天魔改了代码控制空调,壁挂炉直接用官方的就可以。帖子里有generic_thermostat的中文使用介绍:涂鸦wifi红外智能空调遥控器插件,魔改HA官方generic_thermostat
而且界面炒鸡漂亮。热水器分时段控制目标温度用HACS 安装:Scheduler Card + scheduler-component(下载后,设置-》设备与服务-》添加集成)
[attach]65
267[/attach]
详细方案:ESP8266继电器,ESPHome的配置:
esphome:
name: nq-switch
friendly_name: NQ-Switch
esp8266:
board: esp01_1m
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "xxxxxxxxrcNwBHvUA11XZSRVj+UvGAD+CaWQiHEOI="
ota:
- platform: esphome
password: "xxxxxxxc961d056a9dff7d22db3a0e938"
wifi:
networks:
- ssid: 'wifi ssid'
password: 'wifi 密码'
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Nq-Switch Fallback Hotspot"
password: "wXJz1u1K104V"
captive_portal:
switch: ##设备类型;
- platform: gpio ##平台;
name: "Relay-NuanQi"
pin: GPIO0 ##ESP01/01S 是GPIO0脚;
id: relay ##ID 为继电器开关;
inverted: yes ## inverted 参数,表示高电平有效,即继电器是高电平触发;
status_led:
pin:
number: GPIO2
inverted: true
ESP32 蓝牙网关配置:
substitutions:
name: esp32-bluetooth-proxy-ab7540
friendly_name: Bluetooth Proxy ab7540
packages:
esphome.bluetooth-proxy: github://esphome/firmware/bluetooth-proxy/esp32-generic.yaml@main
esphome:
name: ${name}
name_add_mac_suffix: false
friendly_name: ${friendly_name}
api:
encryption:
key: 3xxxxxxxNNVcMy389a1/8Qz2dxlT94ULUiYj8=
wifi:
ssid: 'ssid'
password: 'wifi 密码'
esp32_ble_tracker:
scan_parameters:
# Adjust timing if the defaults do not work in your environment
interval: 1100ms
window: 1100ms
active: true
bluetooth_proxy:
active: true
软件:generic_thermosta 壁挂炉控制面板,HA configuration.yaml,加入:
- platform: generic_thermostat
name: 通用壁挂炉
heater: switch.esp_relay_nuanqi
target_sensor: sensor.temperature_humidity_sensor_xxxx_temperature
unique_id: 自己随便写
min_temp: 18
max_temp: 25
target_temp: 18
home_temp: 22
min_cycle_duration: 3
cold_tolerance: 0.3
hot_tolerance: 0.3
initial_hvac_mode: "off"
eco_temp: 19
sleep_temp: 20.7
activity_temp: 20.5
target_temp_step: 0.1
壁挂炉3 4 端子接继电器方案:
|