美文网首页物联网IOT创意开发Docker容器Home Assistant
智慧家庭 - HA(3) - 完善 HomeAssistant

智慧家庭 - HA(3) - 完善 HomeAssistant

作者: FrostHe | 来源:发表于2019-03-02 12:47 被阅读0次

    本文索引:

    启用认证系统

    相关组件:

    HA 以 auth_provider 的方式支持不同种类的认证,在 configuration.yml 中的 homeassistant 节点下添加:

    homeassistant:
      auth_providers:
       - type: {auth provider type}
    

    截至 0.80 版本,HA 支持 3 种 auth_provider:

    1. home assistant auth provider: 默认的认证提供器,类似于用户管理系统,type 名称为 homeassistant
    2. trusted network: 安全网络,例如,配置家庭局域网不受认证系统的限制,type 名称为 trusted_networks
    3. legacy api password: 该功能主要是为了向前兼容 api_password 认证功能

    一个完整的例子为:

    homeassistant:
      auth_providers:
       - type: homeassistant
       - type: trusted_networks
       - type: legacy_api_passowrd
    
    http:
      api_password: !secret http_password
      trusted_networks:
        - 127.0.0.1
        - 192.168.1.0/24
    

    上面的例子同时支持 3 种认证,可根据需要选择认证种类。根据官方的说法,legacy_api_passowrd 认证会在未来的版本中移除,且 trusted_networks 的配置信息将从 http 模块移动到认证系统下。

    值得注意的是,使用 trusted_networks 认证时,multi-factor authentication 模块将不会参与认证过程。另外,如果在同一机器使用反向代理服务器(如 nginx)向外暴露 HA,那么任何来自 WAN 并由反向代理服务器转发至 HA 的请求都会被认为处于可信任网络中,详情参考这篇文章以及 Nginx

    配置 Zone 信息

    相关组件:

    Zone 组件用于划分自定义地图区域,这些区域可作为其他组件的参考信息,例如 Device Tracker 可根据 Zone 来判断一个移动设备是否位于某区域内。首先在 configuration.yaml 根配置中启用 Zone 组件,并指定从 zones.yaml 文件中提取具体 Zone 信息:

    zone: !include zones.yaml
    

    新建 zones.yaml 文件,并定义 Zone 如下:

    - name: Home
      latitude: {latitude-of-your-home}
      longitude: {longitude-of-your-home}
      radius: 250
      icon: mdi:account-multiple
    
    - name: Office
      latitude: {latitude-of-your-office}
      longitude: {longitude-of-your-office}
      radius: 250
      icon: mdi:briefcase
    

    一条 Zone 节点提供以下参数:

    • name: 指定该 Zone 的名称,可选
    • latitude: 指定 Zone 的纬度,必填
    • longitude: 指定 Zone 的经度,必填
    • radius: 覆盖半径,以米为单位,可选,默认值为 100 米
    • icon: 指定 Zone 的图标,mdi 的标准名称,可至 https://materialdesignicons.com/ 参考查询
    • passive: 指示是否仅使用 Zone 组件用于自动化并从 Web 前端隐藏,默认为 false

    经纬度信息因使用的 Map 组件不同而异,HA 默认采用的 MapOpenStreetMap,可至 Google Map 查询经纬度。如果不分配任何 Zone 配置节,HA 将使用根配置中指定的经纬度信息绘制一个默认的 Home Zone

    为 HA 主机添加系统监控组件

    相关组件:

    sensors.yaml 文件中包含 System Monitor 组件:

    - platform: systemmonitor
      resources:
        - type: disk_use_percent
          arg: /
        - type: memory_use_percent
        - type: processor_use
        - type: network_in
          arg: eth0
        - type: network_out
          arg: eth0
        - type: last_boot
    

    注意,读取的磁盘信息需要相应的 UNIX 用户权限

    引用实体的 ID 可在 Web UI 的 States 面板找到:

    entity id 所在位置

    groups.yaml 创建一个群组以展示这些信息:

    system_monitor:
      entities:
        - sensor.processor_use
        - sensor.memory_use_percent
        - sensor.disk_use_percent_
        - sensor.network_in_eth0
        - sensor.network_out_eth0
        - sensor.last_boot
    

    最后,在 customize.yaml 中修改某些实体的自定义信息:

    group.system_monitor:
      friendly_name: System Monitor
    

    最终的效果如下图:


    效果图

    相关文章

      网友评论

        本文标题:智慧家庭 - HA(3) - 完善 HomeAssistant

        本文链接:https://www.haomeiwen.com/subject/fteeuqtx.html