# Analytics snippet placeholder — HearthNodes (gatherer.top) # Paste the measurement snippet here (server.js inlines any content that contains # a markup tag into on every page). No GA4 property is assigned to this # site yet, so leave this file as comments only and the build emits no tracking # code.
HearthNodesgatherer.top 已发布 11/28 EN 中文

仅在有意义的条件下引入夜间凉风的换气降温

夏夜只有满足「室外比室内低至少 3 °C」且「室内 CO₂ 高于 900 ppm」时才自动开卧室窗,并在 05:30 或室外温度升到距室内 1.5 °C 以内时自动关闭。

协议 · matter 延迟 · 180000 ms 供电 · mains 发布 · 2026-09-10 3 devices
自动化 YAML climate-bedroom-night-cooling.yaml
# HearthNodes recipe 12 - night cooling purge
alias: "Climate - bedroom night purge that earns its keep"
id: hn_climate_night_cooling
description: "Open 12 percent only when outdoor air helps and CO2 needs clearing"
mode: restart
max_exceeded: silent

trigger:
  - platform: numeric_state
    entity_id: sensor.outdoor_temperature
    below: "{{ states('sensor.bedroom_temperature') | float(30) - 3 }}"
    for: "00:05:00"
    id: cooler_outside
  - platform: numeric_state
    entity_id: sensor.bedroom_co2
    above: 1400
    id: co2_spike
  - platform: state
    entity_id: binary_sensor.rain_detected
    to: "on"
    id: rain_started

variables:
  gap_pct: 12
  end_conditions:
    - "05:30"
    - "rain"
    - "delta_t_below_1_5"
    - "co2_below_700_for_20min"

condition:
  - condition: time
    after: "21:00:00"
    before: "05:30:00"
  - condition: state
    entity_id: binary_sensor.bedroom_window_manual_override
    state: "off"
  - condition: numeric_state
    entity_id: sensor.rain_accumulation_15min
    below: 0.1
  - condition: template
    value_template: >-
      {{ states('sensor.bedroom_co2') | int(0) > 900
         or states('sensor.bedroom_temperature') | float(20) > 24 }}

action:
  - choose:
      - conditions:
          - condition: trigger
            id: rain_started
        sequence:
          - service: cover.set_cover_position
            target:
              entity_id: cover.bedroom_window_actuator
            data:
              position: 0
      - conditions: []
        sequence:
          - service: cover.set_cover_position
            target:
              entity_id: cover.bedroom_window_actuator
            data:
              position: "{{ gap_pct }}"
          - service: fan.turn_on
            target:
              entity_id: fan.bedroom_supply
            data:
              percentage: 30
          - delay: "00:30:00"
          - service: fan.turn_off
            target:
              entity_id: fan.bedroom_supply
          - wait_for_trigger:
              - platform: time
                at: "05:30:00"
              - platform: state
                entity_id: binary_sensor.rain_detected
                to: "on"
              - platform: numeric_state
                entity_id: sensor.bedroom_co2
                below: 700
                for: "00:20:00"
            timeout: "08:00:00"
            continue_on_timeout: true
          - service: cover.set_cover_position
            target:
              entity_id: cover.bedroom_window_actuator
            data:
              position: 0

# A 12 cm gap on this casement gives about 34 m3/h. Rain sensor offline -> window
# held shut, MVHR boost instead. Actuator loss while open -> 15 minute watchdog
# cuts the actuator supply, which is the fail-safe direction for a window.
触发器 · numeric_state

sensor.outdoor_temperature

21:00 至 05:30 之间,室外温度比卧室温度低 3 °C 以上。

仅在有意义的条件下引入夜间凉风的换气降温 topology

分步说明

  1. cover.bedroom_window_actuator把窗户开到 12 %——在这个窗户的几何条件下,12 厘米的缝隙在典型夜间微风下可提供 34 m³/h 的换气量,足以排出 CO₂,又不会在床面形成穿堂风。 set_cover_position · 12
  2. fan.bedroom_supply低速送风机运行 30 分钟建立气流;它由自己的计时器关闭,而不依赖窗户状态。 turn_on · speed low · 30 min
  3. cover.bedroom_window_actuator在四个独立结束条件中最先满足的那个上关闭,任意一个都意味着换气已不再有益。 set_cover_position · 0 on any of: 05:30, rain, ΔT < 1.5 °C, CO₂ < 700 ppm for 20 min
分步说明
开 12 %,不要全开

夜里把卧室窗全开,会在人最不能忍受的温度上。算出能给你 30–40 m³/h 的缝隙:对典型 1.2 米平开窗约为 12 厘米。量一次,把百分比写进配方。

除温度外还要以 CO₂ 作为门槛

只看温度,会在凉爽但无需换气的夜晚也开窗,既浪费热量又放进噪声。要求 CO₂ 高于 900 ppm,换气只在确实有污浊空气需要排出时发生。双人卧室在夏季每月约触发 8–10 次。

给它四个独立的关闭方式

时间(05:30)、下雨、温差收敛、CO₂ 回落。任意一条单独成立即可关闭。只有一个关闭条件的自动窗,迟早会在暴雨里开着。

硬件

型号协议连接在本链路中的作用
Chain window actuator (24 V) with a Matter module matter 有线 24 V 链条式开窗器,采用有线连接,因为电池机型恰恰会在最需要它的那些夜晚需要充电。
Weather station with rain detection zigbee 无线 同一根立杆提供下雨标记和室外温度,保证两个读数一致。
CO₂ sensor with NDIR measurement matter 有线 必须用 NDIR,而不是基于 VOC 估算的 eCO₂;用估算值做卧室换气决策,会在不该开窗的时候开窗。

失效时怎么办

如果雨量传感器离线,窗户保持关闭,配方回退为开启新风系统强档——效果差一些,但不会让房间进水。如果执行器在开启状态下失联,15 分钟看门狗会切断执行器供电强制关闭,关窗是窗户的安全方向。

同一触发源的配方

条款 仅供参考。这些配方会控制市电、水路与物理门禁。当地电气与给排水规范、熔断与隔离措施、以及每一处失效保护的实际测试,都需要你自己负责。本页内容不构成专业工程、法律或安全建议。