找回密码
 立即注册

微信扫码登录

搜索
查看: 252|回复: 6

[技术探讨] 咨询一下这个自动化怎么做???

[复制链接]

66

主题

435

回帖

2109

积分

金牌会员

积分
2109
金钱
1608
HASS币
50
发表于 4 天前 | 显示全部楼层 |阅读模式
我想用服务器的cpu温度作为 一个条件,比如cpu温度低于59度就关闭外置风扇,高于60 低于70,这个外置风扇风扇就根据温度的变化调整风扇转速,且风扇的转速限制在10%-50%这个区间范围,转速太高吵死人。风扇具备调速功能,通esp8266,用pwm输出电压,控制风扇转速。

848.jpg
927.jpg
回复

使用道具 举报

ZDZX 手机认证

6

主题

122

回帖

829

积分

高级会员

积分
829
金钱
701
HASS币
0
发表于 4 天前 | 显示全部楼层
使用HA自动化还是Node-RED?前者我不会,后者是卡在哪一步?是不会获取温度还是不会映射转速还是写出来的流无法正确实现效果?
回复

使用道具 举报

2

主题

428

回帖

2814

积分

金牌会员

积分
2814
金钱
2379
HASS币
30
发表于 4 天前 | 显示全部楼层
用nodered吧,問ai,它直接能生成一個工作流(flow) json 給你導入了
回复

使用道具 举报

66

主题

435

回帖

2109

积分

金牌会员

积分
2109
金钱
1608
HASS币
50
 楼主| 发表于 4 天前 | 显示全部楼层
现在问ai确实方便
回复

使用道具 举报

13

主题

73

回帖

1717

积分

金牌会员

积分
1717
金钱
1631
HASS币
0
发表于 4 天前 | 显示全部楼层
让AI帮你写一个,使用ESPHOME,我就是这样处理:储能一体柜有8个风扇,根据内部温度传感器的温度来PWM控制风扇,最高25~65度对应5~100%,晚上还增加一个系数(晚上温度低,再降一点风扇速度)
回复

使用道具 举报

14

主题

252

回帖

1460

积分

金牌会员

积分
1460
金钱
1184
HASS币
40
发表于 4 天前 | 显示全部楼层
我是用 12V灯带控制器 控制风扇电压的。

根据 温度 来控制 灯带控制器的亮度 brightness,即可改变电压。brightness 值的范围是0~255

以下是我的自动化 yaml


alias: 风扇自动调速
description: ""
triggers:
  - entity_id:
      - sensor.temperature_sensor1
    trigger: state
actions:
  - target:
      entity_id: light.844693fac9d9_light
    data:
      brightness: >
        {% set temperature =
        states('sensor.temperature_sensor1') | float %}
        {% if temperature >= 32 %}  
          255
        {% elif temperature <= 16 %}
          51
        {% else %}
          {{ (temperature - 16) * 12.75 + 51 }}
        {% endif %}
    action: light.turn_on
回复

使用道具 举报

66

主题

435

回帖

2109

积分

金牌会员

积分
2109
金钱
1608
HASS币
50
 楼主| 发表于 4 天前 | 显示全部楼层
alias: 温控风扇平滑调节(带最低运行时间)
description: ""
triggers:
  - minutes: /1
    trigger: time_pattern
  - entity_id: sensor.hp600g2_temperature
    trigger: state
actions:
  - variables:
      target: "{{ states('sensor.fan_target_speed') | int(0) }}"
      current: "{{ states('input_number.fan_smoothing_speed') | int(0) }}"
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ target > 0 }}"
          - condition: template
            value_template: "{{ current == 0 }}"
        sequence:
          - target:
              entity_id: timer.fan_min_run
            action: timer.start
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ target > current }}"
        sequence:
          - target:
              entity_id: input_number.fan_smoothing_speed
            data:
              value: "{{ [current + 2, target] | min }}"
            action: input_number.set_value
      - conditions:
          - condition: template
            value_template: "{{ target < current }}"
        sequence:
          - target:
              entity_id: input_number.fan_smoothing_speed
            data:
              value: "{{ [current - 2, target] | max }}"
            action: input_number.set_value
  - target:
      entity_id: fan.super_fan_super_fan_kai_guan
    data:
      percentage: "{{ states('input_number.fan_smoothing_speed') | int(0) }}"
    action: fan.set_percentage
mode: single


configurator.yaml
input_number:
  fan_smoothing_speed:
    name: "风扇平滑转速"
    min: 0
    max: 100
    step: 1
    mode: box

input_boolean:
  fan_keep_running:
    name: "风扇强制运行中"
    initial: off   
timer:
  fan_min_run:
    duration: "00:02:00"   
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-10-31 04:14 , Processed in 0.460868 second(s), 11 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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