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

 找回密码
 立即注册
查看: 65175|回复: 42

[修仙教程] 夏天了,更舒服:空调接入HA的深度思考+SmartIR的真正 smart 化

[复制链接]

105

主题

2954

帖子

1万

积分

超级版主

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

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

发表于 2021-5-9 21:12:51 | 显示全部楼层 |阅读模式
本帖最后由 XCray 于 2021-5-26 11:06 编辑

补充:完整方案:https://bbs.hassbian.com/thread-13012-1-1.html
~~~~~~~~~~~~~~~~~~
0. 前言

夏天如何让空调吹得更舒服、更省事,相信是每个人的梦想。


普通空调不舒服的一大原因就是温度检测的准确度无法保障——不是说空调自带的传感器不准,而是其离人太远——可能你躺的床上已经低到20度了,空调自己测得的室温还是28度,于是空调只好继续努力的吹冷风,完全不顾躲在被子里瑟瑟发抖的你。。。

虽然有的空调号称有随身感模式,但实话说有的品牌这个功能仅仅局限于宣传材料,实际使用效果几乎感觉不到。各位坛友如果知道哪款空调的随身感功能确实比较好,不妨推荐一下,先行谢过~~~

那么,既然是智能家居玩家,这个问题怎么能忍呢?!

之前,我采取的是利用小米万能遥控器+米家自动化的方式来解决这个问题,简单说,就是空调设置一个合适的温度(比如25),在需要的地方放一个温度传感器(蓝牙zigbee啥的都行),在这个外置传感器温度低于门限值(可以是24或任何其他你感觉舒服的温度)时,就让万能遥控器发出让空调关机或者温度提高1~2度。在传感器温度高于门限值时,再开启空调或者温度降低1~2度。

这样,可以确保身体实际感受的温度一直在舒服温度的区间。

显然,米家这个方案只能是凑合,比空调自己控制好,但仍然存在不足。

1. 把空调接入HA


偶然间看到一个前年的帖子:[进阶教程] 创米万能遥控搭配SmartIR接入格力空调【7月23日更新代码】,感谢楼主”houhd“的信息,使我了解到一个非常不错的定制插件:SmartIR。利用这个插件,可以很好的实现把空调接入HA的想法。但是,也仅仅是接入而已,对温度的控制依然是完全由空调自身完成。


虽然这个组件也可以用上HA的温湿度传感器,但作用仅仅是在界面上显示而已,并不会对空调的温控有任何一丝一毫的影响。不舒服的问题依然没有得到解决。


之前,我也考虑过别的接入方案:
   - 比较高级的是买个好用的温控器,或者用ESP+显示器+旋钮+开关自己弄一个。由于不舍得花钱、懒,这个方案一直没有实施。
   - 利用HA内置的generic_thermostat,省事,但这个组件只能实现空调的开和关,虽然可以解决随身感的需求,但是太简单粗暴,变频空调的优势也完全被无视。
   - 最简单的,利用input_boolean和input_number再加上自动化,可以达到目的,但又无法兼容HomeKit,看不上。。。

2. 用上HA的传感器,真正智能地控制空调


接入解决了,接下来就是实现目标。


思路还是前面说的,利用HA的传感器(可以用更加科学的体感温度,参考我之前的一个帖子:简单方便的体感温度传感器,不用定制组件、不用代码)、让HA来决定如何控制空调的目标温度

具体到实现环节,又可以有两个思路:

   - 推荐:编写自动化,根据体感温度传感器数值、通过调用climate.set_temperature或climate.turn_on/off自动控制空调,在HA或Node-Red里都可以。
   - 不推荐:修改SmartIR代码,在climate.py第383行的_async_temp_sensor_changed函数里面加入如下代码:
#增加以下代码使之更智能,注意缩进
target_temperature = '{0:g}'.format(self._target_temperature)
if (new_state.state < target_temperature) and self._hvac_mode == HVAC_MODE_COOL:
    await self._controller.send(self._commands['cool']['auto'][str(int(target_temperature)+1)])
    await asyncio.sleep(self._delay)
    _LOGGER.info('实测温度低于目标,调高空调目标温度:'+new_state.state)
elif (new_state.state > target_temperature) and self._hvac_mode == HVAC_MODE_COOL:
    await self._controller.send(self._commands['cool']['auto'][target_temperature])
    await asyncio.sleep(self._delay)
    _LOGGER.info('实测温度高于目标,空调恢复原目标温度:'+new_state.state)
#修改结束,仅针对空调制冷模式
注:这种直接修改代码的方法容易出问题,难以利用体感温度进行控制,也容易受版本更新的影响,我也只是验证思路,这段代码也还很不完善,每次温度变化都会发射。正常使用还是推荐采用自动化来解决。

对于非变频空调,直接关闭就可以;变频空调的话,应该提高目标温度更好一些。

等以后换了更聪明、更舒服、直接可以接入HA的空调,也许就不用这么折腾了。




评分

参与人数 1金钱 +20 HASS币 +20 收起 理由
+ 20 + 20 厉害了word楼主!

查看全部评分

回复

使用道具 举报

8

主题

690

帖子

4556

积分

论坛元老

Rank: 8Rank: 8

积分
4556
金钱
3861
HASS币
0
QQ
发表于 2021-5-9 21:23:57 来自手机 | 显示全部楼层
前排支持
回复

使用道具 举报

32

主题

986

帖子

4233

积分

论坛元老

Rank: 8Rank: 8

积分
4233
金钱
3207
HASS币
110

教程狂人论坛风云人物

发表于 2021-5-9 21:29:28 | 显示全部楼层
本帖最后由 27hh 于 2021-5-9 21:37 编辑

大神闭关已久,乃不知有汉,无论魏晋?

前些天去小米之家体验过几款新出的空调,功能均非常丰富,远超目前市面上的传统空调。例如,它可以直接绑定某个蓝牙温湿度计作为当前温度来源,无需网关而是直连(蓝牙的优势在此时显现出来了),然后基于这个温度设定一些温度曲线之类的。而且这些空调通过MIoT插件也是可以完美接入的(是否是局域网接入未测试)。

另一个思路是从一些空调的wifi模块入手,它们通常通过串口通信。不过近年来的空调wifi模块基本都是内置了,有些甚至和主控板在一起了,不好下手。

不过,小米的空调,我是不敢买。

PS: 前几天买了一台华凌的N8HE1,还没安装,准备安装前先拆开看看有没有搞头。。。
回复

使用道具 举报

3

主题

150

帖子

941

积分

高级会员

Rank: 4

积分
941
金钱
791
HASS币
0
发表于 2021-5-9 21:35:25 | 显示全部楼层
这样开开关关空调会不会容易坏啊 。。。我建议是温度到了就变成送风模式。
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

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

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2021-5-9 21:35:34 | 显示全部楼层
27hh 发表于 2021-5-9 21:29
大神闭关已久,乃不知有汉,无论魏晋?

前些天去小米之家体验过几款新出的空调,功能均非常丰富,远超 ...

是啊啊啊

主要是家里的空调一直不坏,没理由换它

原来一直用米家凑合,近期看米家越来越不顺眼了,才想着在HA里折腾一下~
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

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

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2021-5-9 21:37:50 | 显示全部楼层
Sourdough 发表于 2021-5-9 21:35
这样开开关关空调会不会容易坏啊 。。。我建议是温度到了就变成送风模式。
...

这又不是直接断电,不碍事的。

改送风模式、或者提高目标温度都可以,也确实更好一些
回复

使用道具 举报

33

主题

2196

帖子

5838

积分

论坛元老

Rank: 8Rank: 8

积分
5838
金钱
3642
HASS币
60
QQ
发表于 2021-5-9 21:44:51 | 显示全部楼层
膜拜大佬。
我不生产技术,我只是技术的搬运工。
回复

使用道具 举报

77

主题

1391

帖子

2万

积分

元老级技术达人

积分
24331
金钱
22900
HASS币
290
发表于 2021-5-9 23:09:56 | 显示全部楼层
现在带Wifi的格力空调通过插件接入ha,https://github.com/RobHofmann/HomeAssistant-GreeClimateComponent ,效果还不错,只是目前外置温度传感器也还只是显示实际温度。记得冬天制热时经常出现高出设定温度一点的情况,制冷估计也会超出,看来也还要增加自动化来才能更精准的控制温度。
回复

使用道具 举报

23

主题

660

帖子

3110

积分

论坛元老

Rank: 8Rank: 8

积分
3110
金钱
2450
HASS币
10
发表于 2021-5-9 23:47:08 | 显示全部楼层
我之前打算写一个空调制动控制的流,只写到计算体感温度,后面没继续了写了。。。。。
回复

使用道具 举报

40

主题

2176

帖子

8286

积分

元老级技术达人

积分
8286
金钱
6095
HASS币
110
发表于 2021-5-10 08:34:41 | 显示全部楼层
27hh 发表于 2021-5-9 21:29
大神闭关已久,乃不知有汉,无论魏晋?

前些天去小米之家体验过几款新出的空调,功能均非常丰富,远超 ...

华凌无法接入HA呀
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 05:19 , Processed in 0.413504 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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