杭州今年热出了天际,温度稳定达到了40摄氏度以上,家里的3台美的空调也是经常开开关关(开了冷,不开热)。美的空调是可以通过App“美的美居”控制的,不需要遥控器。貌似现在新发货的美的空调已经不带遥控器了。

不过,每次都要经历“找手机-解锁-找到美的美居-打开美的美居-等待启动-选中空调-打开”的一系列操作,很不友好。

能不能用siri来控制呢?“hey siri,打开客厅空调”,这样体验会更好。

这里我使用的是home assistant + Media AC LAN + HASS Bridge + Apple Home + HomePod mini 的方案。

home assistant

home assistant简称hass,一个开源的智能家居设备,能够控制非常多的设备(homepod,plex,kodi,etc),官方宣称支持1900多种设备。我这里用hass的目的是为了控制美的空调。

hass有2种安装方式,一种是使用树莓派,斐讯N1,玩客云等嵌入式设备,安装hass os,另一种是直接安装应用。

我这里是使用docker 安装的,具体可以参考官方这里

官方给出了docker的安装命令,我这里部署到了家里的k8s上,config使用了一个nfs pvc,并且提供了一个svc供集群外访问。

docker run -d \
  --name homeassistant \
  --privileged \
  --restart=unless-stopped \
  -e TZ=MY_TIME_ZONE \
  -v /PATH_TO_YOUR_CONFIG:/config \
  --network=host \
  ghcr.io/home-assistant/home-assistant:stable

注意2点:

  1. 务必使用hostnetwork,实测如果使用overlay网络方案,评估手机的home app无法连接到hass。只是hass网页打开没这个限制。
  2. privileged不是必须的。

Pod起来以后,使用Pod的IP或者使用svc IP打开 http://{ip}:8123,就可以进入hass的页面了。

HACS

接下来我们要安装 HACS。HACS是hass的社区市场,提供一些设备、主题的第三方资源。

如果hass是容器化安装的,HACS的安装可以参考Home Assistant 安装 HACS,安装后左边栏会多一个“HACS”的菜单。简单来说就是:

wget -q -O - https://install.hacs.xyz | bash -

重启hass,然后在hass配置界面添加集成HACS即可。

注意,HACS只是一个“市场”,在HACS上添加的集成,其实是只做了下载,真正的管理还是要到hass的 配置-设备与服务 界面。

Midea AC LAN

Midea AC LAN可以通过本地局域网控制你的美的空调。

这个插件可以自动配置,其他插件使用起来会繁琐一些。安装很简单,在HACS中搜索’Midea AC LAN’并安装就可以。

安装后,到hass的 配置-设备与服务-添加集成,搜索Midea AC LAN,添加新设备,选择auto方式,然后插件会自动发现家里的空调,依次添加即可。

如果家里有多台美的空调,由于自动发现的是一个序列号,需要自己挨个开关下,看看各自对应的是什么,并且重命名为对应的房间,例如我这里的“客厅”。注意一定要重命名,因为后面的siri控制需要使用。

客厅

到这里,我们就可以通过hass控制家里的美的空调了。

HomeKit Bridge

在hass配置界面,添加新集成“HomeKit”,注意不要选择”HomeKit控制器”。前者的作用是将hass作为一个设备加入到HomeKit,后者是让hass去控制HomeKit设备。我们这里是为了让siri去控制美的空调,所以需求是前者。少数派的这篇文章说的比较清楚。

安装后,需要进行配置。选择bridge+exclude模式。

HomeKit Bridge

接下来选择要排除的实体,我们只是想用siri去控制空调的开关和简单设定,一些舒适模式、ECO模式平时也很少用到,所以在这里要把他们排除,免得HomeKit这里太乱。我这里只保留了各个房间的控制。

HomeKit Bridge

完成后,hass会有一个提示,点开是一个二维码,用手机的Apple Home扫码,可以添加这个设备。这里要注意,如果前面Pod使用overlay网络模式,添加会失败。

添加后,在Home就可以看到3个空调了。如果在Home上看到的命名比较乱,可以在设备图标上右键设置,重命名下。

HomeKit Bridge

配置好之后,就可以使用siri来控制了。实测可以打开、关闭某个空调,设置空调的模式、温度、风量等等,还是比较方便的。