『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 6180|回复: 21

[技术探讨] 空调自然外部控温策略方法探讨

[复制链接]

19

主题

290

帖子

1510

积分

论坛技术达人

积分
1510
金钱
1205
HASS币
130
发表于 2022-6-29 08:07:31 | 显示全部楼层 |阅读模式
本帖最后由 riceball 于 2022-7-6 19:43 编辑

一直以来,空调的温度调节就是一个问题:调低一度太冷, 调高一度又热. 现在有了HA,可以思考下用HA自然控制温度的策略了.
最近在写  SmartIR 智能红外遥控集成(空调/电视/风扇)改进增强版(测试)

准备内置外部控温,正在思考自然温度调节的策略, 这里征求下坛友的意见. 下面是我初步思考的策略,总感觉不太完善.

  1. 制冷还是制热:
    1. 方法一: 增加室外温度传感器,  如果设定温度 > 室外温度传感器 制热, 小于室外温度传感器则制冷
    2. 方法二: 根据 HOME 的地理位置 确定南北半球,南北极,赤道, 再根据时间确定冬夏来决定制冷还是制热, 但是如果是在春秋开空调呢?
  2. 使用体感温度代替温度传感器,这个最简单, 没啥好说的,装一个体感温度集成即可, 地址这里: Thermal Comfort 热舒适度集成(含体感温度)
  3. 使用智能墙壁插座控制空调以及监测空调运行功耗(通过检测功耗来监视空调的制冷工作情况)
  4. 开机流程:  如果空调电源插座开关没有打开,打开电源插座并延迟开机
  5. 关机流程: 先关闭空调, 然后延迟指定时间后关闭空调电源插座
  6. 温度控制策略:

温度监测(制冷)策略:

  • 当前温度 - 控制温度(HA上设定的目标温度) 高于设定阀值(cold_tolerance) 开始制冷:
    • 如果 HA的设定目标温度 == 空调上的设定目标温度 and 运行时间 >= 30m(run_time) 并且 当前运行功耗(power_meter_sensor) 高于 最小工作功耗(min_power_meter)
    • 那么降低空调上的设定目标温度-1
  • 控制温度(HA上设定的目标温度) - 当前温度 高于设定阀值(hot_tolerance) 停止制冷:
    • 如果 HA的设定目标温度 == 空调上的设定目标温度 and 运行时间 >= 30m(run_time) 并且 当前运行功耗(power_meter_sensor) 高于 最小工作功耗(min_power_meter)
    • 那么提高空调上的设定目标温度+1

OK, 根据坛友反馈,以及自己的需要新增功能如下:

  1. (可选) 使用外部温度传感器temperature_sensor来精确控制室内温度(温度传感器所在位置的)
    • 可自定义调整温度的精度(温度调整的增量): +1, +0.5, +0.1
  2. (可选) 使用switch_sensor来自动关闭/打开空调插座电源开关,并作为感知空调是否开启的传感器
  3. (可选) 允许在HA中重新设定空调的调整温度范围
    • 这样就不用担心在HA中误调整温度超出范围
  4. 遵循HA ClimateEntity 基类约定改写代码(完成一部分)

目前我自己卧室空调温度精度从-1°C提升到 0.2-0.4°C之间,温度已经接近直线(一上一下的方波). 好玩的是还可以据此大致判断晚上起夜的时间(温度会有一个升高的方波). 如果还要更高的精度,那就必须先对空调的制冷能力进行智能预估,然后再进行处理了. 目前对我来说,这个精度够了.

空调新增参数:

  • switch_sensor: (可选) 指定空调插座的实体ID, 设定后, 开插座就是开空调, 关闭插座就是关闭空调
    • 如果不想作为开关控制,可以去设定power_sensor实体ID参数,power_sensor参数只是感知空调是否打开的传感.
    • delay_on: (可选) 打开空调插座后,延迟delay_on秒后发送空调打开信号. 默认: 2(s)
    • delay_off: (可选) 发送空调关闭信号后, 延迟delay_off秒后关闭空调插座. 默认: 60(s)
  • use_temperature_sensor: (可选) 是否启用外部温度传感器作为空调温度控制. 默认为False.
    • 如果启用那么温度传感器temperature_sensor实体ID也必须设定好.
  • precision: (可选) 目标温度的调整精度设置: 1, 0.1, 05, 默认为空调的温度调整精度
    • 如果启用use_temperature_sensor后,才可以调整该参数.否则没作用.
  • min_temp: (可选) 空调在HA上可配置的最小温度, 默认为空调本身的最小温度
  • max_temp: (可选) 空调在HA上可配置的最大温度, 默认为空调本身的最大温度
  • min_run_time: (可选) 使得温度变化的最小运行时间,默认: 1800(秒=30分钟)
  • default_mode: (可选) 空调开机后的默认模式. 默认: auto
  • power_meter_sensor: (可选) 空调功率传感器实体ID
    • min_power_meter:  (可选) 空调开机后的最小功率(W)
    • max_power_meter:  (可选) 空调开机后的最大功率(W)

HA configuration.yaml 例子:

climate:
  - platform: smartir
    name: 主卧空调
    unique_id: bed_ac
    device_code: 1581
    use_temperature_sensor: true
    controller: MQTT
    controller_data: home/OMG_IR_AIWIN/commands/MQTTtoIR
    temperature_sensor: sensor.bed_temperature_temperature
    humidity_sensor: sensor.bed_temperature_humidity
    switch_sensor: switch.bed_switchac
    power_meter_sensor: sensor.bed_switchac_power
    max_power_meter: 800
    min_power_meter: 30
    delay_off: 60
    min_run_time: 300
    default_mode: cool
    precision: 0.5

目前仅实现了制冷的温控,还十分不完善,所以不准备提交PR,自己使用.

如果需要清自行取用(已经合并至主分支): https://github.com/snowyu/SmartIR










回复

使用道具 举报

35

主题

986

帖子

4802

积分

论坛元老

Rank: 8Rank: 8

积分
4802
金钱
3816
HASS币
20
发表于 2022-6-29 08:36:17 来自手机 | 显示全部楼层
现在很多空调可以调0.5度,应该也是出于增加舒适度的考虑
回复

使用道具 举报

41

主题

2189

帖子

8440

积分

元老级技术达人

积分
8440
金钱
6236
HASS币
110
发表于 2022-6-29 09:05:30 | 显示全部楼层
大致上就是得用室内的温湿度传感器计算体感温度,然后自己创建规则,去控制空调模式、风速、设定温度
关电源,没必要吧

我现在是用定时任务,到家手动开空调(回家时间不确定,但也不是每次回去都需要开空调)
然后到晚上11点开始定时任务介入,分几个时段,温度先低后高,半夜关一段时间,早上太阳出来后起床前再会开一会儿,起床后自动关闭
基本上整晚就舒畅了
特别热的时候需要开循环扇辅助
回复

使用道具 举报

40

主题

3056

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11149
金钱
8042
HASS币
182
发表于 2022-6-29 10:05:16 | 显示全部楼层
ghostist 发表于 2022-6-29 09:05
大致上就是得用室内的温湿度传感器计算体感温度,然后自己创建规则,去控制空调模式、风速、设定温度
关电 ...

有没有算过半夜关了再开空调的功耗和一直开的功耗区别??

我记得一般变频空调,如果关了,再开,开始功耗都很高,到达温度才会低功耗运作。
Nero
回复

使用道具 举报

41

主题

2189

帖子

8440

积分

元老级技术达人

积分
8440
金钱
6236
HASS币
110
发表于 2022-6-29 10:31:14 | 显示全部楼层
neroxps 发表于 2022-6-29 10:05
有没有算过半夜关了再开空调的功耗和一直开的功耗区别??

我记得一般变频空调,如果关了,再开,开始功 ...

没算
不过这个空调有10年了...
应该不是变频吧
2点~6点关,就算是变频空调,持续开应该也比分两次费电吧

功耗嘛 目前插座倒是有计量芯片,不过感觉电流不大对,用esphome接入的,电压根据家里其他功率计校准了参数,电流就没办法了暂时,得搞个正经功率计
回复

使用道具 举报

40

主题

3056

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11149
金钱
8042
HASS币
182
发表于 2022-6-29 11:10:58 | 显示全部楼层
ghostist 发表于 2022-6-29 10:31
没算
不过这个空调有10年了...
应该不是变频吧

哈哈,之前的移动 X12 没上车?
Nero
回复

使用道具 举报

56

主题

933

帖子

4137

积分

论坛元老

Rank: 8Rank: 8

积分
4137
金钱
3204
HASS币
0
发表于 2022-6-29 11:13:53 | 显示全部楼层
纯讨论,关于制热还是制冷;
一、先要定义开启空调前的环境条件
1、制热:非空调室内温度低于15度(这个可以根据自身喜好,下同)时,允许空调制热,同时需要限定设定空调温度值范围16-27,其它值无效。
2、制冷:非空调室内温度高于28度,允许空调制冷,同时需要限定设定空调温度值范围16-27,其他值无效.

楼主的1.1如果设定温度 > 室外温度传感器 制热, 小于室外温度传感器则制冷, 不能排除误操作的BUG ,比如室外温度28度(闷热),空调误设29度时,那么将空调制热,反之也会。需要排除这种误操作。
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12122
金钱
9103
HASS币
460

教程狂人突出贡献

发表于 2022-6-29 12:25:08 | 显示全部楼层
先说最简单的部分:
1. 我实际用过一段时间,使用体感温度的必要性不大;
2. 实在要用体感温度,也没必要弄个专门的插件或者esphome,ha里用个简单的模板就能得到体感温度;
3. 制热还是制冷,似乎没必要吧?每年需要制热的时间段并不会太长(很多地方还有暖气)、需要制热的时间也不会太长,最关键的是需要制热和需要制冷的时间段之间肯定有不短的间隔,应该不会有多少地方今天要制冷明天要制热吧?简化一下,ha集中在温控上比较好。

然后是控制策略,我的理解实际上涉及到两个温控器:
。 一个是空调自带的,大部分利用机身温度传感器,还有部分空调的遥控器上也有温度传感器可以参与温控(更舒适)。
。 另一个是HA的温控器,可以灵活选择接入到HA的传感器甚至虚拟的体感温度。动作嘛,控制空调自身温控器的目标温度是一个比较合适的做法。

至于开关,因为压缩机(以及电热丝)不工作时,仅风扇工作的功耗很小,所以开关也可以简化(即人决定开不开、制热还是制冷,HA只负责温控)。

~~~~~~~~~~~~~
最复杂的部分是如何确定空调温控器的目标温度。

公认比较好的温控算法是PID(比例微分积分),但是用在HA上似乎太过复杂、也没太大必要。可以只用其中的比例部分就足够了。
比如说:当前温度和目标温度差异比较大时,空调温控器的目标温度就设置的更激进一些,比如制热时35度制冷时18度,目的是快速达到实际所需的目标温度。然后随着温度的变化不断地调整目标温度直至相对温度。
回复

使用道具 举报

41

主题

2189

帖子

8440

积分

元老级技术达人

积分
8440
金钱
6236
HASS币
110
发表于 2022-6-29 13:15:54 | 显示全部楼层
neroxps 发表于 2022-6-29 11:10
哈哈,之前的移动 X12 没上车?

  你说对了 正是X12
我有4个这玩意
不过...就用了1个(客厅空调位置不对,次卧新空调直接能联网)
IRMQTT里面没有能控制这个老空调的码库。。。。

家里这几个空调...我先后用过控客mini pro学码方案,小米小白万能遥控接入HA的方案,囧大的魅族车方案
IRMQTT  IRBABY SMARTIR SMARTAC..

回复

使用道具 举报

41

主题

2189

帖子

8440

积分

元老级技术达人

积分
8440
金钱
6236
HASS币
110
发表于 2022-6-29 13:17:44 | 显示全部楼层
XCray 发表于 2022-6-29 12:25
先说最简单的部分:
1. 我实际用过一段时间,使用体感温度的必要性不大;
2. 实在要用体感温度,也没必要弄 ...

PID  yes!
再往下讨论还要考虑环境中不同人对温度的要求 哈哈
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-1-17 21:52 , Processed in 0.202123 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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