在智能家居市场,米家无疑具有垄断地位。 不过,米家对空调控制的优化并不好。 第一个是空调每次打开都是从16°开始,记不住上次的温度。 米家智能只能选择两种温度和风量之一,只有16°和高速或者其他温度和自动风速。 就在一个月前,我不断抽搐,无线开关开始失控。 多次反馈无果后,我被迫弃坑。 你厌倦了同一个米家吗? 厌倦了在多个应用程序之间频繁切换? 您不必适应智能家居系统。 现在,您甚至不需要太多的Linux知识,只需几串代码就可以DIY出最适合您的智能家居控制系统。
可以做什么
我接触到的第一个(以下简称HA)就是将米家设备连接到Siri,自动管理设备。 随着HA的版本迭代,HA变得越来越稳定和个性化。 HA不仅是连接智能家居的桥梁,更是让您的家更适应您需求的管理中心。
你有没有想过:
人工“智能”Siri打不开电脑,却能打开“电子产品”
如果您痴迷于更智能的家居和更协调的管理,那么您一定要尝试最新版本。 下面我将通过示例来演示安装和部署。
安装
提前准备
Nas、软路由器、树莓派、PC,可以安装在任何机器上。 作为智能家居网关,稳定性是关键。 本文将使用 Pi进行安装。
硬件要求:
首先下载所需的树莓派系统并刷机。 拔下SD卡插入电脑,在根目录下新建一个文本文档并重命名为SSH。 使用终端和腻子连接到 Pi。 连接的默认密码为(输入密码时不显示)。 Win系统可以用来查看树莓派当前的网络下载速度。
sudo timedatectl set-timezone 'Asia/Shanghai'
设置时区后,重新启动并继续下一步。
一键安装
经过开发者和极客用户的不断努力,普通用户的进入门槛已经越来越低。 本文使用制作的一键安装脚本进行安装。 本脚本集安装、替换国内源、安装于一体。
sudo -s
wget https://code.aliyun.com/neroxps/hassio_install/raw/master/install.sh
chmod a+x install.sh
./install.sh
只需按 Enter 并运行即可选择您自己的设备。 值得注意的是,由于国内网络原因,下载速度可能会很慢或卡住。 使用 Ctrl+C 停止任务并再次运行脚本。 另外,还可以在路由端添加代理规则,让下载更流畅。
KTV文档的安装方式的优点是比较稳定。 但由于国内网络限制,这种安装方式可能会无法启动,无法安装插件。
安装完成后,您可以通过树莓派IP:8123登录HA管理界面。
配置
HA设备的接入方式不是一键连接,需要修改树莓派目录\usr\share\\下的配置文件.yaml。
进入HA管理界面,点击侧边栏的Add-on store,安装并启动File插件,即可直接在网页上编写.yaml文件。
下面以案例的形式来讲解设备接入。
以灯带为例(非原生设备)。 HA自动搜索无法正确配置灯带,需要手动添加。 从路由器或App获取设备IP地址,无缝连接HA。
将以下内容复制到.yaml并更改IP地址。 (注意yaml格式和缩进)
# 该方法不适用于已支持 Homekit 设备
discovery:
ignore:
- yeelight
yeelight:
devices:
192.168.1.110:
name: 灯带 1
192.168.2.111:
name: 灯带 2
重启- 后即可在首页看到该设备。
博联全系列
博联获得HA是最省心的。 以博联智能开关为例,
# 「switch:」只需填写一次
switch:
- platform: broadlink
host: IP地址 1
mac: MAC地址 1
- platform: broadlink
host: IP地址 2
mac: MAC地址 2
小米系列
与其他智能设备不同的是,小米设备不仅需要获取IP地址,还需要获取设备的IP地址。
获取Token的方式有很多种,这里介绍一种最简单的。 通过分享,下载APK并将其安装到您的手机上。 您可以在应用程序的常规设置-网络信息中看到设备令牌。 iOS用户必须下载模拟器才能运行。
以小米智能开关为例,
# 「switch:」只需填写一次
switch:
- platform: xiaomi_miio
host: IP 地址
token: TOKEN 码
小米智能网关需要使用钥匙连接。 仍然使用之前的App,在网关页面点击关于,多次点击插件版本位置即可打开开发者模式。 打开LAN通信协议获取密钥。
xiaomi_aqara:
discovery_retry: 10
gateways:
- key: 获取的密码
连接成功后,小米网关下的所有智能硬件都会自动连接到HA。
设备连接到HA后,您可以使用HA内置的插件将所有设备连接到家里进行统一控制。 在.yaml中写入:
homekit:
exclude_entities:
#以下实体不在 Homekit 中显示 (非必填,格式展示请勿复制)
- binary_sensor.switch_xxxxxx
- binary_sensor.wall_switch_xxxxxx
- ……
重启HA,您可以在通知中看到二维码和8位连接码,扫描或手动连接。 需要先从Home App中删除本机设备,HA才会被自动发现。 输入设备的 8 位连接代码后即可访问 HA。
更多设备的接入可以参见KTV集成文档。
至此,设备接入工作完成。
自动化
与HA连接的设备,无论是开关、传感器(温度、湿度等特殊的除外)、日历等,一般都用两种状态来表示:开和关。 HA监控设备的状态并调用服务以达到家庭自动化的目的。
HA前端集成了自动化配置界面。 下面将演示基本的自动化配置过程。
例如,当日历中有事件时打开灯泡。
在HA管理界面“配置-自动化”中,点击右下角的+号,新建一个自动化。 当有事件发生并且日历状态从关闭变为打开时,将调用 .。
当然,用户也可以直接编写.yaml文件,例如:
- alias: 工作模式
trigger:
platform: event
event_type: xiaomi_aqara.click
event_data:
entity_id: binary_sensor.switch_xxxxxxxxxxx
click_type: single
action:
#打开电脑
- service: switch.turn_on
entity_id: switch.mypc
#开灯并调到指定颜色
- service: light.turn_on
data:
entity_id: light.table_light
brightness: 255
rgb_color: [255, 145, 26]
#打开空调并调整到指定温度
- service: climate.set_temperature
data:
entity_id: climate.bedroom
temperature: 23
hvac_mode: cool
保存后只需在服务器控制中重新加载自动化1即可,无需重启。
请在用户配置文件中启用高级模式
保存自动化后,它会出现在 HA 中,并作为也嵌套在新自动化中的开关。
课程与HA相连,上课时房间里最亮的灯打开。 其效果不亚于上课#觉时被叫去回答问题。 以至于我每次都只能在恐惧中入#。 第二步是启动计算机时打开一系列开关。 HA内置了集成的 LAN 唤醒功能,可以 ping 通计算机,但总感觉不太稳定。 我这里使用的是小米改装的小米门窗传感器来检测电脑的电源状态。
先进的
截至版本 0.109,有超过 1,500 个 HA 可访问的设备。 PC、、特斯拉等都可以通过HA内置插件直接连接。 但其他用户开发的自定义插件、主题、卡片等需要手动添加。 下面通过一个例子来演示如何在HA中安装自定义插件。
树莓派Samba安装与部署
安装桑巴
sudo apt-get update
sudo apt-get install samba samba-common-bin
配置桑巴
sudo nano /etc/samba/smb.conf
在文件底部添加以下内容(注意格式),Ctrl+X退出,Y保存文件。
[Hass]
comment = Homeassistant
valid users = pi,root
path = /usr/share/hassio
browseable = yes
writable = yes
重启桑巴服务
sudo samba restart
添加登录帐户并创建密码。
sudo smbpasswd -a pi
修改文件权限
sudo chmod 777 -R /usr/share/hassio
在或本机输入// Pi IP,以账户名pi访问\hass\配置文件。
插件安装
由于HA没有内置红外代码库,用户想要控制空调只能自己学习代码或者安装插件。
下面演示空调远程控制插件的安装过程。
文件夹需要自己创建
#博联红外遥控器
smartir:
switch:
- platform: broadlink
host: 192.168.10.10
mac: '00:00:00:00:00:00'
climate:
- platform: smartir
name: Office AC
unique_id: office_ac
device_code: 1000 #参照插件目录获取空调代号
controller_data: 192.168.10.10 #博联RM IP地址
temperature_sensor: sensor.temperature #温湿度传感器在 HA 中的ID名
humidity_sensor: sensor.humidity
power_sensor: binary_sensor.ac_power
重启HA后,就可以看到空调控制面板了。