aprking 发表于 2022-8-12 11:49:05

SIRI唤醒打开空调默认为制热模式

骄阳似火,可使用SIRI唤醒“打开客厅空调”打开米家接入的中弘中央空调时,默认为制热模式,如果用HOMEKIT更改为制冷模式,这时再关闭空调,下次用SIRI唤醒打开就是正常的制冷模式。但如果此时HA重启过,或过两天即便没更改设置过,再次使用SIRI唤醒打开中央调又默认为制热模式了。
查过米家的climate.py,可能是为了兼容性,代码太复杂了,找不出原因。
个人对代码不懂,但初步分析怀疑,这个PY没有在执行打开空调前,读取中央空调当前的设定模式,而又在代码中默认了空调为制热模式,导致SIRI打开空调自动为制热模式。即使用HOMEKIT更改为制冷模式,再由于HA重启或长时间不用空调,HA的模式设置又会丢失,如此循环混乱。
若哪位大佬能对这个climate.py进行优化,在执行打开空调前读取一次中央空调当前的设定模式再执行命令,或许就可以解决,故在此求助各位大佬,先行致谢。
另附:
HOMEKIT中的空调只有制热、制冷两个模式,换气、除湿等功能全部丢失。
所以在猜测,如果把这两个模式对调,会不会默认就自动改为制冷了?!

yotashop 发表于 2022-8-12 13:29:26

本帖最后由 yotashop 于 2022-8-12 13:33 编辑

我也是这样。
我是用自动化的土办法,:
当季节是summer和spring,开空调的时候,如果是模式是制热的话,调为制冷。。
不过季节每个地方不一样,不一定标准,设置触发项为温度的话,应该会更精确,反正大概是这么个思路。。办法虽土,但挺管用。。
alias: 空调春夏打开为制冷(书房夏)
description: ''
trigger:
- platform: state
    entity_id:
      - climate.workroom
    for:
      hours: 0
      minutes: 0
      seconds: 0
    to: heating
    attribute: hvac_action
condition:
- condition: and
    conditions:
      - condition: state
      entity_id: sensor.season
      state: summer
action:
- service: climate.set_hvac_mode
    data:
      hvac_mode: cool
    target:
      entity_id: climate.workroom
mode: single

aprking 发表于 2022-8-12 17:09:44

yotashop 发表于 2022-8-12 13:29
我也是这样。
我是用自动化的土办法,:
当季节是summer和spring,开空调的时候,如果是模式是制热的话,调 ...

这些代码加在哪里?请请教!
这里如果打开的是制热,会自动切换到制冷,对么?
实现这个功能,或者如您所说,在自动化里设置以温度为触发项更精确。
另外,这个方法完善后,应该还可以解决SIRI打开空调时,地暖控制器和空调同时打开的情况发生,但可能会出现地暖控制面板打开再关闭的情况。

silversucks 发表于 2022-8-12 18:03:24

我也是用自动化解决的

yotashop 发表于 2022-8-13 14:08:10

本帖最后由 yotashop 于 2022-8-13 14:14 编辑

aprking 发表于 2022-8-12 17:09
这些代码加在哪里?请请教!
这里如果打开的是制热,会自动切换到制冷,对么?
实现这个功能,或者如您所 ...
在自动化(automation)里啊,发论坛所以发的是代码,用ha的ui界面设置就行,
这个自动化的意思就是:
触发(trigger):当空调打开是模式为制热
条件(condition):并且(and)现在的季节为夏天时
执行(action):将空调模式调为制冷。


我这南方没地暖,所以不大清楚,不过homekit中,空调也是以恒温器的方式接入的,
所以才会有你说的空调地暖同时打开的情况,这个优先看能不能通过更改homekit中设备的名称来解决。

aprking 发表于 2022-8-13 21:44:07

本帖最后由 aprking 于 2022-8-13 22:17 编辑

yotashop 发表于 2022-8-13 14:08
在自动化(automation)里啊,发论坛所以发的是代码,用ha的ui界面设置就行,
这个自动化的意思就是:
触 ...
更改名称不行,因为地暖的名称完全与中央空调不同,但homekit很死板,恒温器下面所有的设备统一调用,SIRI唤醒空调会把这两个家伙全打开,这个可能从底层就得优化!
不能私信您,可否加您WX。
我的是clfdmp

pikaq 发表于 2022-8-20 20:43:14

这题我会,以前HA的空调是没有open方法的,后来支持了open方法,如果集成没有自定义open方法的话,就按照 加热 制冷 的顺序,支持哪个模式就用哪个模式,所以对于同时支持制热制冷的空调来说,就是触发制热了,解决方法就是修改集成添加一个open方法。

aprking 发表于 2022-8-20 22:32:12

pikaq 发表于 2022-8-20 20:43
这题我会,以前HA的空调是没有open方法的,后来支持了open方法,如果集成没有自定义open方法的话,就按照...

膜拜大佬,大佬请提供详细方法吧!

sdhuaren 发表于 2022-8-21 00:15:40

一样的问题,坐等详细方法。
作为应急,我把Climate中其他模式删除,只留一个制冷,不管Siri回复是制冷还是自动,均只能开启制冷:sleepy:

aprking 发表于 2022-8-21 00:30:16

sdhuaren 发表于 2022-8-21 00:15
一样的问题,坐等详细方法。
作为应急,我把Climate中其他模式删除,只留一个制冷,不管Siri回复是制冷还是 ...

坐等7楼大佬提供解决方法了!
另:新版的IOS的SIRI会不认可"打开空调"这个词,而是要以"打开/关闭恒温器"这个唤醒词,这也是真奇葩了!
页: [1] 2
查看完整版本: SIRI唤醒打开空调默认为制热模式