教程:homeassistant的安装配置
一、安装
参考进行hassio一键安装:http://apod.cc/index.php/post/109.html
二、配置
1.基础信息配置
初次运行时,HomeAssistant将会根据你的IP地址确定你的位置信息,然后根据位置信息选择合适的度量衡单位和时区。
你可以在配置文件configuration.yaml中改写这些内容。
homeassistant: latitude: 32.87336 longitude: 117.22743 elevation: 430 unit_system: metric time_zone: America/Los_Angeles name: Home
基础配置项说明:
基础配置项 | 说明 |
latitude(可选项) | 维度,在有些组件中会用到位置信息,比如天气预报、位置追踪等 |
longitude(可选项) | 经度,在有些组件中会用到位置信息,比如天气预报、位置追踪等 |
elevation(可选项) | 海拔高度(米),在有些组件中会用到此信息,比如天气、太阳等 |
unit_system(可选项) | 度量衡单位,metric代表公制,imperial代表英制 |
time_zone(可选项) | 时区,可以从http://en.wikipedia.org/wiki/List_of_tz_database_time_zones中选择 |
name(可选项) | 一般设置为Home Assistant所在的空间位置名称 |
customize(可选项) | 定制一个实体(entity)的属性值 |
customize_domain(可选项) | 定制一个域(domain)中的所有实体(entity)的属性值 |
customize_glob(可选项) | 定制符合某种名字模式(如:“light.kitchen_*”)的所有实体的属性值 |
whitelist_external_dirs(可选项) | 可发送文件的目录列表,当配置Telegram组件时需要用到 |
注:可选项代表此项可以不设置。
2.HTTP配置
http组件为HomeAssistant WEB前端提供文件和数据服务,也是HomeAssistant对外提供API服务的基础。
系统缺省的configuration.yaml中,会加载http组件,其中所有的配置项都是空的。
http的配置项包含如下:
配置项 | 说明 |
api_password(可选) | 访问http的密码 |
server_host(可选) | 仅仅监听发送到指定ip/host的网络请求,缺省为全部(0.0.0.0) |
server_port(可选) | 监听的端口,缺省是8123 |
base_url(可选) | internet上HA的访问地址,例如“hass-example.duckdns.org:8123”。缺省是本机的ip地址。当配置了数字证书后需要配置对应的域名 |
ssl_certificate(可选) | 建立https通讯用的TLS/SSL证书文件地址 |
ssl_key(可选) | 建立https通讯用的密钥文件地址 |
cors_allowed_origins(可选) | 允许跨域资源共享(CORS,Cross-origin resource sharing)的域名列表 |
use_x_forwarded_for(可选) | 接受http头的“X-Forwarded-For”信息,一般是由proxy在http访问请求信息中设置的客户端的真实地址。建议在安全的网络环境中使用此设置。缺省值是False。 |
trusted_networks(可选) | 可信的(IP)网络列表,在可信网络列表中的客户端不需要密码即可访问HomeAssistant。如果你使用了反向代理,所有HA的请求都会来自反向代理的地址,所以在这种情况下,此设置要格外小心。 |
ip_ban_enabled(可选) | 是否打开ip禁止功能,缺省为False。 |
login_attempts_threshold(可选) | 在ip_ban_enabled为true情况下,单个IP错误密码尝试次数(超过尝试次数,此ip会被禁止访问)。缺省值为-1,表示尝试次数无穷大。 |
注:可选项代表此项可以不设置。
下面是一个http组件实际配置的例子(初始使用设置一个密码就可以了,其它设置当碰到实际需求时再进行设置):
# configuration.yaml http配置样例 http: # 设置前端访问密码为abc54321 api_password: abc54321 # http对外的服务端口号为12345 server_port: 12345 ssl_certificate: /etc/letsencrypt/live/hass.example.com/fullchain.pem ssl_key: /etc/letsencrypt/live/hass.example.com/privkey.pem cors_allowed_origins: - https://google.com - https://home-assistant.io use_x_forwarded_for: True # 这些地址来的访问不需要密码 trusted_networks: - 127.0.0.1 - ::1 - 192.168.0.0/24 - 2001:DB8:ABCD::/48 ip_ban_enabled: True login_attempts_threshold: 5
3.添加设备
【手工配置】
一个HomeAssistant连接的外部设备(也可能是一个云服务,或者一个处理程序,比如人脸识别程序),在配置文件中表现为一个组件或某个组件(域)下的一个平台,用户可以手工配置需要加载的设备驱动程序(组件或平台)以及相应参数。
有两种配置的风格。
风格一:在一个域(domain,对应组件)中,配置具体设备。
# 在传感器(sensor)域中增加设备 sensor: # 这是一个MQTT设备,名字是"MQTT Sensor 1",在MQTT中发布信息的位置在"home/bedroom/temperature" # 此配置添加系统内实体sensor.mqtt_sensor_1 - platform: mqtt state_topic: "home/bedroom/temperature" name: "MQTT Sensor 1" # 这是一个MQTT设备,名字是"MQTT Sensor 2",在MQTT中发布信息的位置在"home/kitchen/temperature" # 此配置添加系统内实体sensor.mqtt_sensor_2 - platform: mqtt state_topic: "home/kitchen/temperature" name: "MQTT Sensor 2" # 使用RESTful API访问获得信息,抽象成一个传感器的设备 - platform: rest resource: http://IP_ADDRESS/ENDPOINT # 在开关(switch)域中增加设备 switch: # 这是一个vera的开关,http://getvera.com/ - platform: vera
注:在HomeAssistant系统中,对象ID(ObjectID)只能是小写英文字母、数字和下划线的组合。在配置文件中实体的名字(name)往往会转化成系统内的ObjectID——转化过程中,大写字母会转换成小写,空格会转换成下划线;如果出现中文,就会出错。
风格二:在“domain xxxx:”下,单独配置每一个设备。此处“xxxx”仅在配置文件中表示不同的设备,并不是HomeAssistant中的ObjectID;“xxxx”在同一个域中必须是唯一的。
media_player livingroom: platform: mpd server: IP_ADDRESS media_player kitchen: platform: plex camera 1: platform: generic camera 2: platform: mjpeg
【自动发现】
discovery组件用于自动发现设备,当配置之后(缺省配置文件中有)一些设备和网络服务会被Home Assistant自动发现。
# Discover some devices automatically discovery:
不能自动发现的设备,需要在配置文件中手工配置。
版权声明
1.本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行测试。
2.本站资源仅供学习和交流使用,版权归资源原作者所有,请在下载后24小时之内自觉删除。
3.若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,与本站无关。
4.若内容涉及侵权或违法信息,请联系本站管理员进行下架处理,邮箱ganice520@163.com(本站不支持其他投诉反馈渠道,谢谢合作)
- 上一篇: 教程:树莓派安装jupyter notebook
- 下一篇: 教程:AppDaemon的安装与配置
发表评论