首页 智能家居homeassistant正文

教程:homeassistant的安装配置

仁镜 homeassistant 2019-11-10 12:21:48 4325 0 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(本站不支持其他投诉反馈渠道,谢谢合作)

本文链接:http://apod.cc/index.php/post/113.html

发表评论

评论列表(0人评论 , 4325人围观)
☹还没有评论,来说两句吧...