书接上文。说起来,智能家居的可复制性在软件领域里是比较差的,在完成基础的环境搭建之后,功能需求要根据自己的实际情况来决定,以下的所有内容仅供抛砖引玉之用。

前端显示

隆重推荐Dwains dashboard,这是在HA生态系统下仅有的不怎么需要折腾的部分。只需要把每个设备的区域选好,就可以得到一组还不错的面板:

Dwains dashboard

Floorplan是另一个极端,这个组件需要很久——非常久——才能够完成,而完成之后也只有无尽的空虚。为了缓解这空虚我也姑且把截图放在这里。

Floorplan

手机消息提醒

作为没有统一推送服务的安卓用户,加入新的后台程序无异于火上浇油,所以最经济的方法是投靠大流氓微信。之前互联网上常见的方法是企业微信发送应用消息,不过到了2023年,这种方式需要绑定固定IP和域名,所以我换成了企业微信机器人。这种方法需要有一个微信群(两人以上),对单身贵族不是十分友好。

在获得Webhook地址之后,在HA配置文件中添加以下行:

# configuration.yaml
rest_command:
  wechat_message:
      url: "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=略"
      method: post
      content_type: 'application/json'
      payload: '{"msgtype":"text","text":{"content":"{{  message  }}"}}'

就可以在自动化中Call a service,调用wechat_message了。

另外,可以试试showdoc推送服务。我没用过,不对这个负责。

或者直接想办法给微信绑定的QQ邮箱发信,反正他们信用卡诈骗邮件都是这么干的。

推送的非常及时

或者直接用Home Assistant自带的HTML5 Push Notifications;或者TG机器人;或者自建ntfy.sh——反正都很复杂。

开关其他计算机

当前,因为不想和国家电网签约,我在平时保持台式机和NAS处于关闭状态,只在需要时通过HA所在的矿渣来Wake on LAN

开机问题解决了,关闭需要另外的解决方式。对于Windows系统,可以使用IOT Link;而对于更常用的Linux系统,可以使用SSH来运行shutdown。仍然是HA配置文件:

#configuration.yaml
switch:
  - platform: wake_on_lan
    name: Trashbin
    mac: 00:00:00:00:00:00
    host: 192.168.8.88 #用ping来检测是否已开机
    turn_off:
      service: shell_command.turn_off_trashbin
shell_command:
  turn_off_trashbin:  "ssh -i /config/ssh_keys/id_rsa_homeassistant -o 'StrictHostKeyChecking=no' [email protected] 'sudo /usr/bin/systemctl poweroff'"

别忘了把私钥放在/config/ssh_keys/id_rsa_homeassistant,并上传公钥。在authorized_keys中动些手脚,可以限制SSH允许执行的命令。另外,需要设置sudo在运行poweroff时不需要密码。

## sudo visudo
%sudo   ALL=(ALL) NOPASSWD: /usr/bin/systemctl poweroff

远程访问

之前这篇文章就是为了这个。

在家检测

又名device tracker,与路由器有关,我用了OpenWrt (luci)集成。独居的话,BLE门锁也能完成类似的工作。控制欲更强的朋友可以尝试ESPresense,应该是能到房间级别。

零冷水

如果你像我家一样,燃气热水器/壁挂炉离浴室太远,需要一套零冷水系统,那么首先需要把回水管留好。然后……最好能搞点成品系统,不要像我一样用屏蔽泵和智能开关解决,毕竟这玩意还是有一定难度的。

设计水路和买接头全要靠自己了。

设计水路和买接头全要靠自己了。

弄完之后,把水泵插在智能插座上,在卫生间安装人体传感器,每当卫生间有人经过的时候就运行半小时。

没有预留回水管的话可以参考这里

自适应照明

……感觉很高级,没了。

监控摄像

为了照料人类幼崽,我买了3个摄像头,是广受好评的TP-link系列1,ONVIF协议除了端口是:2020之外和标准一模一样,也自然支持HA的ONVIF集成。

因为正好有一台杂牌NAS,硬盘录像机的钱可以省掉了。NVR软件方面,我尝试了Shinobi.video2motioneye3,最后选了iSpy公司的Agent DVR,设置最简单,也具有最完善的HA集成,抱歉啦开源社区。

附:当前用到的自动化

  • 按下开关 -> 关掉对应的灯

    每个灯都要做一次,很无聊。但是设置完之后,每个灯都能缓缓熄灭,就……挺高级的。

  • 开关窗帘
    • 在每天晚上8:00自动关闭所有窗帘
    • 我在家的情况下,当我的下一个闹钟响起时,打开主卧窗帘
    • 早上8:30打开所有窗帘
  • 浴室门
    • 浴室门关闭 -> 打开照明、打开循环泵
    • 浴室门开启 -> 关闭照明、关闭浴霸制热、等待十分钟 -> 关闭浴霸通风
  • 防盗门
    • 门从外部被打开 -> 打开门厅灯、打开循环水,如果在8:00-22:00间,小爱播报“欢迎回家”。

      就……挺高级的……吧……

  • 循环泵
    • 每天午夜关闭循环泵
    • 开启30分钟后关闭循环泵
  • 在电费余额不足时,向企业微信发送信息

暂时我还没搞懂NodeRED是干什么用的,看起来pyscript还更有趣一些。


  1. 型号是TL-IPC44AW Pro,那个Pro让它多了5G wifi支持。 ↩︎

  2. 不太支持H.265格式的录制,实时播放老有问题,而且没搞懂HA集成怎么用。 ↩︎

  3. 这个我没仔细试,祝你成功! ↩︎