树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统 篇八:Hass.io 插件推荐
一、前言
在我看来智能家居最好的形式是让人感觉不到它的存在,当一个系统趋于稳态之后,一般是不需要太多的变动的。在打造个人智能家居系统的期间,涉及专业性的内容其实并不多,反而更困难的是甄别一些伪需求,如此方能事半功倍。
Hass.io 虽然存在诸多限制,但优秀的插件模式,使得用户无需去关注背后的机制,能够轻松上手 Home Assistant。本篇将总结一些优秀的 Hass.io 插件,讲解一些相应的配置。关于插件的安装,可以浏览我之前的相关文章。
二、基础篇
Dnsmasq
插件源:内置
功能:DNS 服务
Dnsmasq 可以提供简易的 DNS 服务,使的家庭内部服务也拥有独立的域名。当然,你需要在路由器或者你的联网设备上将 DNS 服务器地址设为你的树莓派 IP 地址。结合 Nginx Proxy 使用,能够实现 Hass.io、Dashboard、Pi-hole 等服务的域名访问。
配置信息:
{
"defaults": ["114.114.114.114", "8.8.8.8"],
"forwards": [ //(可选)转发到特定服务器的域列表
{"domain": "mystuff.local", "server": "192.168.1.40"}
],
"hosts": [ //(可选)需要解析的主机信息
{"host": "home.mydomain.io", "ip": "192.168.1.10"}
],
"interface": "eth1"
}
HASS Configurator
插件源:内置
功能:Home Assistant 可视化配置
通过网页直接对 Home Assistant 进行配置,编辑 YAML 文件,并且提供了语法高亮功能。
配置信息:
{
"username": "admin", //(可选)
"password": "secret", //(必填)Hass.io 密码
"certfile": "fullchain.pem", //(可选)
"keyfile": "privkey.pem", //(可选)
"ssl": false, //(可选)为编辑器启用或禁用SSL
"allowed_networks": ["192.168.0.0/16"], //(可选)通过将允许的IP地址/网络添加到列表来限制对配置器的访问
"banned_ips": ["8.8.8.8"], //(可选)静态禁止的IP地址列表
"banlimit": 0, //(可选)
"ignore_pattern": ["__pycache__"], //(可选)要在用户界面中忽略的文件和文件夹
"dirsfirst": false, //(可选)
}
将 HASS Configurator 整合到 Home Assistant Web 页面中,在 configuration.yaml 中加入如下配置:
配置信息:
panel_iframe:
configurator:
title: Configurator
icon: mdi:wrench
url: http://你的Hass.io地址:3218
Nginx Proxy
功能:反向代理
提供简易的 Nginx 反向代理功能,只需要简单的配置,就可以让所有服务拥有独立的域名,如下方配置,所有的服务都在树莓派上部署,通过不同的端口进行方面。使用 Nginx Proxy 后,可以给不同端口的服务不用的访问域名。相较其他 Nginx 代理,这款插件配置更为简单。
配置信息:
{
"vhosts": [
{
"vhost": "pihole.home.me",
"port": "8053",
"default_server": true
},
{
"vhost": "hassio.home.me",
"port": "8123",
"default_server": false
},
{
"vhost": "dashboard.home.me",
"port": "5050",
"default_server": false
},
{
"vhost": "portainerio.home.me",
"port": "9000",
"default_server": false
}
]
}
Terminal
功能:Web 终端
通过 Terminal 插件,实现使用 Web 终端登陆 Hass.io。包含模块:curl, Wget, RSync, GIT, Nmap, Mosquitto client, MariaDB/MySQL client, Awake (“wake on lan”), Nano, Vim, tmux 等。
配置信息:
{
"log_level": "info",
"username": "hassio", //设置用户名与密码
"password": "changeme",
"ssl": true,
"certfile": "fullchain.pem", //(可选)用于SSL的证书文件。
"keyfile": "privkey.pem", //(可选)用于SSL的私钥文件。
"packages": [ //(可选)额外安装的包
"python",
"python-dev",
"py-pip",
"build-base"
],
"init_commands": [ //(可选)初始化命令
"pip install virtualenv",
"pip install yamllint"
]
}
将 Terminal 整合到 Home Assistant Web 页面中,在 configuration.yaml 中加入如下配置:
配置信息:
panel_iframe:
terminal:
title: Terminal
icon: mdi:console
url: http://你的Hass.io地址:7681
三、高级篇
AppDaemon
功能:Dashboard
准确来说 AppDaemon 插件不仅仅能提供 Dashboard 功能,这里我们仅以 Dashboard 为主。
Dashboard 是有望成为官方界面的应用,在 Hass.io 中,通过插件可以轻松安装。而 AppDaemon 的配置可以在 /config/appdaemon 目录中找到。
配置信息:
{
"log_level": "info",
"commtype": "websockets"
}
有关配置 AppDaemon 的配置内容请参阅相关文档:
HA Bridge
功能:模拟 Philips Hue
通过 HA Bridge 插件,将 Home Assistant 中的设备模拟成 Philips Hue,使设备能够接入 Amazon Echo 或者京东叮咚智能音响。由于模拟的是灯具设备,所以仅能够实现开关功能。
配置信息(可选):
{
"serverip": "192.168.0.10", //Hass.io IP 地址
"serverport": 80, //可以修改为合适的端口,注意在 HA Bridge 中修改相应内容
"version": "latest"
}
将 HA Bridge 整合到 Home Assistant Web 页面中,在 configuration.yaml 中加入如下配置:
配置信息:
habridge:
nodered_flows:
title: 'HA Bridge'
icon: mdi:lightbulb-on-outline
url: http://你的Hass.io地址:80
Homebridge
插件源:
功能:HomeKit 接入
Homebridge 的作用无需赘言,具体可参考我之前的文章。
IDE
功能:基于 Cloud9 IDE 的开发环境
Cloud9 IDE是一个在线集成开发环境。它支持数百种编程语言,包括C,C ++,PHP,Ruby,Perl,Python,带有Node.js的JavaScript和Go。这个插件是Cloud9 IDE的一个打包版本,可以与 Home Assistant 一起使用。它旨在允许你使用一个有用的,漂亮的和全面的编辑器,能够从 Web 界面直接配置和编辑 Home Assistant。
配置信息:
{
"log_level": "info",
"username": "hassio",
"password": "changeme",
"ssl": true,
"certfile": "fullchain.pem",
"keyfile": "privkey.pem",
"packages": [
"php7-cli"
],
"init_commands": []
}
将 IDE 整合到 Home Assistant Web 页面中,在 configuration.yaml 中加入如下配置:
配置信息:
panel_iframe:
ide:
title: IDE
icon: mdi:code-braces
url: https://你的Hass.io地址:8321
Node-RED
功能:物联网编程工具
Node-Red是IBM公司开发的一个可视化的编程工具。可以用来联接各种物联网设备,比如 Arduino、RaspberryPi。
配置信息(可选):
{
"ssl": true,
"certfile": "fullchain.pem",
"keyfile": "privkey.pem",
"users": [
{
"username": "admin",
"password": "password",
"permissions": "*"
}
]
}
将 Node-RED 整合到 Home Assistant Web 页面中,在 configuration.yaml 中加入如下配置:
配置信息:
panel_iframe:
nodered_flows:
title: 'Node-RED Flows'
icon: mdi:nodejs
url: http://你的Hass.io地址:1880
Pi-hole
功能:广告过滤
Pi-hole 是一个基于 DNS 的广告过滤系统,它的原理是通过域名的信息配置,屏蔽掉相应的广告。由于 Pi-hole 内置 Dnsmasq,所以会与之前的基础插件有冲突。
配置信息:
{
"log_level": "info",
"password": "changeme",
"update_lists_on_start": true,
"web_port": 80,
"dns_port": 53,
"ssl": false,
"certfile": "fullchain.pem",
"keyfile": "privkey.pem",
"interface": "eth0",
"ipv6": true,
"ipv4_address": "",
"ipv6_address": "",
"virtual_host": "homeassistant.example.com",
"hosts": [ //Dnsmasq 域名配置
{
"name": "printer.local",
"ip": "192.168.1.5"
},
{
"name": "router.local",
"ip": "192.168.1.1"
},
{
"name": "router.local",
"ip": "FE80:0000:0000:0000:0202:B3FF:FE1E:8329"
}
]
}
这里给出自用的两个去广告的 host 源,在 Pi-hole 中添加即可。
四、总结
经过一段时间的发展,Hass.io 插件日益完善,抛开网络问题,插件使得 Home Assistant 能够非常轻松简单的上手,本文汇总了一些常用或者有趣的插件,希望能够给大家一定帮助,有关插件具体的内容可以直接通过连接浏览原文档。
由于技术文档都具有一定的时效性,所以之前的一些文章可能已不完全适用于最新的应用版本,我会做一些勘误与答疑。年底了,闲暇时间不会很多,进度不会很快,请大家多多谅解。
光之守鹤
校验提示文案
DaoKou丶Song
校验提示文案
Steven_Lee
校验提示文案
玉面小白狼
校验提示文案
eubn
校验提示文案
samlee0510
校验提示文案
智能改造家
你们的点赞与收藏是我写作的动力,感谢大家!
校验提示文案
天kkk
校验提示文案
可爱的排骨
校验提示文案
[已注销]
校验提示文案
怕贼偷
校验提示文案
drtian
校验提示文案
夏天没味道
校验提示文案
小肥香
校验提示文案
Potat0
校验提示文案
踏雪寻梅
校验提示文案
夏未天
校验提示文案
超逸绝尘
校验提示文案
开心心的2009
校验提示文案
睡个觉真不容易
校验提示文案
是77
校验提示文案
值友1936513679
校验提示文案
值友8988185653
校验提示文案
面朝大海-cgl
校验提示文案
samlee0510
校验提示文案
Marshmallow2016
校验提示文案
狗舞狂
校验提示文案
深海蓝
校验提示文案
天kkk
校验提示文案
akuelin
主要是开各种机器+关窗帘+关灯太繁琐了
另外一个想搞的是走道阳台灯光自动感应控制,但是结合到家庭影院,貌似小米的也不好用
校验提示文案
nnnnbp
校验提示文案
cmp2027
校验提示文案
砜叶
校验提示文案
gegang
校验提示文案
gegang
校验提示文案
gegang
校验提示文案
pizigao
校验提示文案
午夜罗密欧
校验提示文案
Fang123
校验提示文案
夏未天
校验提示文案