20221220-HomeAssistant树莓派-个性化配置

yaml 特别重视语法格式,之前很多派友出错也是因为格式不正确,请大家在配置时务必额外注意缩进、冒号、横短线的使用

页面结构

开始具体配置教程前,我们需要先了解一下ha 主页的页面构成,方便之后更快理解配置指向对象,

这里使用HA 公开的参考配置图作说明

由图可知,HA 主页的左侧栏集中了所有面板的入口,默认主页即state 面板
该面板中由上至下依次包括 工具栏,标签栏,徽章栏及由设备卡片及灰色空白区组成的主区域

当我们新接入一个设备,如果是带有开关属性可控制的、监控摄像头、媒体播放器等设备,HA 会自动为其生成一张卡片,而其他仅有信息展示属性的设备,比如温度、适度、人体传感器、设备在线状态等)则会生成徽章集中在头部

HA 提供了以上所有元素的个性化配置,本篇教程将重点讲述设备、组群、主题三项配置方法,能满足大部分的用户浅层的配置需求

设备自定义

本文开头提到的那些看起来乱码的名称,其实是HA 中的entity ID 该ID 具有唯一性,是HA 系统区别设备的代号,点击侧边栏 下<> 进入开发者states 面板,便可以获得所有接入设备的entity id

当然,代号是给计算机读的,并不适合展示于人,接下来我们就来学习如何对设备进行基本配置,解决乱糟糟的界面

对设备进行自定义设置,请在homeassistant 下新增 customize 块,请特别注意代码的层级

以上设备所需最常见的属性设置,更多设置请参考官方文档

初步设置后,相信你的界面已经有了不少改变

组群管理

随着更多的设备接入,我们不难发现主页面开始渐失逻辑性和层次性,这时候就需要引入组群管理

顾名思义,组群管理就是将一系列的设备,场景等组合在一起形成组群 group 比如,可将卧室内的所有设备集中为卧室群组,或者将所有灯集中为 灯 群组,通过配置组群,可以让我们的ha 界面清晰明了,方便操作

同样我们在configuration.yaml 文件中添加如下配置,主义与homeassistant 平级

homeassistant: #此项为展示平级用,勿照搬
name: Home
unit_system: metric
group:
default_view: #群组名称,必须为英文,空格使用 _ 代替
name: Climate #昵称,可中文
view: yes #是否以标签页形式展示,默认为是
icon: mdi:home #图标
entities: #组内设备
- group.kitchen
- group.awesome_people
- group.climate
control: #当群组内有多个可控制设备时,是否显示总控制开关

我们通过群组管理,可以将非控制类设备由徽章转化为卡片内项,避免了主页面一排徽章的窘境

代码整洁

我们在进行个性化配置中,满足了界面的简洁需求,但是同时也应该注意到随着设置的不断增多,configuration.yaml的内容也不断增加,整个文件显得十分臃肿。这时候我们需要内外兼修,将设备个性化等较长的配置独立出来,形成文件,再接入 configuration.yaml。

比如,我们在 HA 配置文件夹内新建 customize.yaml 和 group.yaml 文件,把对应内容复制进去:

customize.yaml:
thermostat.family_room: #entity_ID
entity_picture: https://example.com/images/nest.jpg #图片
icon: mdi:kettle #图标,来自 https://materialdesignicons.com/
#图标和图片只能选择一个配置
friendly_name: Nest #昵称,显示在主页面
hidden: true #是否隐藏
homebridge_hidden: true #是否在 Homebridge中隐藏,避免 HB 重复添加设备
group.yaml:
default_view: #群组名称,必须为英文,空格使用 _ 代替
name: Climate #昵称,可中文
view: yes #是否以标签页形式展示,默认为是
icon: mdi:home #图标
entities: #组内设备
- group.kitchen
- group.awesome_people
- group.climate
control: #当群组内有多个可控制设备时,是否显示总控制开关
注意直接复制内容,无须 group 或 customize 前缀,顶格写起。

之后在configuration.yaml 使用!include xxxx.yaml 进行调用

homeassistant:
customize: !include customize.yaml
group: !include group.yaml

这样我们就能保持配置文件的整洁和逻辑性

主题

主题是HA 在0.49.2 更新中加入的功能,支持配置大部分ui 中的字体,颜色等css 值,
。最新 0.51.2 版本中已经添加对背景色替换的支持,也意味着黑暗模式终于得以实现。

配置主题需要两个步骤,一为添加配置文件,二为调用主题。

首先是添加配置文件,主题应在 frontend块内进行配置:

frontend:
themes:
night: #主题名称,英文
# 主界面 #
primary-color: “#1DE9B6” # 主 UI 字体颜色
primary-background-color: “#303030” # 其他部件背景色 (dialogs, e.t.c)
secondary-background-color: “#303030” # 主 UI 背景颜色
paper-card-background-color: “#424242” # 卡片背景颜色
paper-item-icon-color: “#1DE9B6” # Icon colour
primary-text-color: “#FFFFFF” # 首选字体颜色
secondary-text-color: “rgba(255, 255, 255, 0.7)” # 次字体颜色
disabled-text-color: “rgba(255, 255, 255, 0.5)” # Disabled text colour
divider-color: “rgba(255, 255, 255, 0.12)” # Divider colour
paper-card-header-color: “#FFFFFF” # 卡片标题颜色

  # 侧边栏 #
  paper-listbox-background-color: "#424242" # 背景色
  paper-listbox-color: "#FFFFFF" # 字体色
  paper-grey-200: "#616161" # 选中项背景色

  # 开关 #
  paper-toggle-button-checked-ink-color: "#1DE9B6"
  paper-toggle-button-checked-button-color: "#1DE9B6"
  paper-toggle-button-checked-bar-color: "#1DE9B6"

  # Sliders #
  paper-slider-knob-color: "#1DE9B6"
  paper-slider-knob-start-color: "#1DE9B6"
  paper-slider-pin-color: "#1DE9B6"
  paper-slider-active-color: "#1DE9B6"
  paper-slider-secondary-color: "#33F2D8"

具体可设置的对象有数十个,

以上主题摘自 ha 官方论坛的网友分享

主题配置后就是调用了,这里有3种方法

手动调用,打开左下角service 面板,由上至下依次选择
frontend - set_theme,之后填入{“name”:”主题名称”},最后点击 call_service。

在这里,我们也可以进行 home assistant 的重启

手动调用 ,打开左侧面板 选择configuration

右侧点击configuration.yaml按钮 - 下方 Set A theme 选择你要的主题 - 即时生效

自动调用,这里预习一下将学习的自动化知识吧

在 configuration.yaml 文件中添加如下配置,注意与 homeassistant平级:

automation:

  • alias: ‘Set theme at startup’
    initial_state: ‘on’
    trigger:

    • platform: homeassistant
      event: start
      action:
      service: frontend.set_theme

    data:
    name: happy #主题名称

相信到这里,大家的ha 界面已经楚楚动人了,

HA 除了预设的个性化配置甚至还提供了自定义卡片,自定义面板 等等接口,你可以在卡片中显示徽章,可以使用全文字面板控制设备甚至可以修改硬核代码实现各种动态效果,简直是促使程序员们脑洞大开

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2015-2024 TeX_baitu
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~