Home Assistant 核心集成
Home Assistant 核心 integration集成将 Home Assistant 与您的设备、服务等连接和集成。 [Learn more] 提供了通用实现,例如通用的 homeassistant.turn_on
操作。
在 YAML 中编辑通用设置
Home Assistant 核心集成还负责通用设置。这些设置在初始设置过程中定义,但您可以稍后在 Settings > System > General 中更改。有关详细步骤,请参阅 基本设置。
如果您更喜欢在 YAML 中编辑,可以在 configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件中定义您的通用设置。
请注意,对于某些设置,如果它们是在 YAML 中定义的,则无法从 UI 中编辑。这些设置将显示为灰色或不可访问。
截图显示坐标无法编辑,因为它们是在 configuration.yaml 文件中定义的。
要在 YAML 中开始通用设置,请按照以下步骤操作:
-
将以下信息复制到您的
configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件中。homeassistant: name: Home latitude: 32.87336 longitude: 117.22743 elevation: 430 radius: 100 unit_system: metric currency: USD country: US time_zone: "America/Los_Angeles" allowlist_external_dirs: - "/usr/var/dumping-ground" - "/tmp" allowlist_external_urls: - "http://images.com/image1.png" media_dirs: media: "/media" recordings: "/mnt/recordings" debug: false
-
编辑每个条目以适应您的家庭。
Configuration Variables
从 维基百科的 tz 数据库时区列表
从 维基百科的 ISO 4217 活动代码列表
Home Assistant 从互联网访问的 URL。例如:https://example.duckdns.org:8123
。请注意,此设置只能包含协议、主机名和端口;不支持使用路径。这也可以通过导航到 Settings > System > Network 进行配置。
Home Assistant 从本地网络访问的 URL。例如:http://192.168.0.10:8123
。请注意,此设置只能包含协议、主机名和端口;不支持使用路径。这也可以通过导航到 Settings > System > Network 进行配置。
自定义 实体。
自定义 域中的所有实体。
自定义 匹配模式的实体。
可以获取的外部 URL 列表。URL 可以匹配特定资源(例如,http://10.10.10.12/images/image1.jpg
)或允许访问其内资源的相对路径(例如,http://10.10.10.12/images
将允许访问该路径下的任何内容)
Home Assistant 使用的默认语言。例如,这可能会影响语音助手使用的语言。语言应指定为 RFC 5646 语言标签,并且必须是 Home Assistant 翻译的语言。
Home Assistant 运行所在的国家。例如,这可能会影响无线电设置以符合当地法规。国家应指定为 ISO 3166.1 alpha-2 代码。从 维基百科的 ISO 31661 alpha-2 正式分配代码列表
启用 Home Assistant 的内置调试功能,这可以通过启用运行时检查来帮助定位行为不端的集成。它可以阻止许多不安全的线程操作导致系统崩溃。启用调试会对系统性能产生轻微影响,不建议长期使用。
在 YAML 中编辑实体设置
Home Assistant 核心集成还负责实体设置。 默认情况下,您的所有设备都将可见,并且具有由其域确定的默认图标。您可以通过更改某些参数来自定义前端页面的外观和感觉。这可以通过覆盖特定实体的属性来完成。
大多数这些设置可以从 UI 中更改。有关详细步骤,请参阅 自定义实体。
如果您更喜欢在 YAML 中编辑,可以在 configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件中定义您的通用设置。
可能的值
Configuration Variables
来自 Material Design Iconsmdi:
,例如 mdi:home
。注意:较新的图标可能尚未在当前的 Home Assistant 版本中可用。
对于具有假定状态的开关,将显示两个按钮(关闭,打开)而不是开关。通过将 assumed_state
设置为 false
,您将获得默认的开关图标。
设置设备的类别,更改在 UI 中显示的设备状态和图标(见下文)。它不会设置 unit_of_measurement
。
定义测量单位(如果有)。这也会影响历史可视化中的图形表示为连续值。缺少 unit_of_measurement
的传感器显示为离散值。
设备类别
设备类别对某些实体进行分类,并影响这些实体在仪表板上的显示方式。一些设备类别按测量类型进行分类,例如传感器或二进制传感器。其他设备类别则分类为更具体的类型。例如,cover 可以是百叶窗或窗帘。对于给定的平台,设备类别会影响用户界面中显示的内容。例如:加湿器有两个设备类别,加湿器和除湿器。如果设备类别设置为 humidifier
,UI 显示 加湿。如果设置为 dehumidifier
,则显示 干燥。
设备类别目前由以下平台支持:
有关支持的设备类别列表,请参阅平台的文档。
手动自定义
如果您在 configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件中实现 customize
、customize_domain
或 customize_glob
,则必须确保它是在 homeassistant:
内完成的,否则将失败。
homeassistant:
name: Home
unit_system: metric
# etc
customize:
# 为每个要覆盖的实体添加一个条目。
thermostat.family_room:
entity_picture: https://example.com/images/nest.jpg
friendly_name: Nest
switch.wemo_switch_1:
friendly_name: Toaster
entity_picture: /local/toaster.jpg
switch.wemo_switch_2:
friendly_name: Kitchen kettle
icon: mdi:kettle
switch.rfxtrx_switch:
assumed_state: false
media_player.my_media_player:
source_list:
- Channel/input from my available sources
# 自定义域中的所有实体
customize_domain:
light:
icon: mdi:home
automation:
initial_state: "on"
# 自定义匹配模式的实体
customize_glob:
"light.kitchen_*":
icon: mdi:description
"scene.month_*_colors":
icon: mdi:other
自定义 STUN 和 TURN 服务器
可以覆盖用于启动 WebRTC 流的默认 STUN 和 TURN 服务器列表。 每个 STUN 或 TURN 服务器可以按下表所述进行配置。
WebRTC 配置示例
如果您在 configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件中实现 webrtc
,则必须确保它是在 homeassistant:
内完成的,否则将失败。
homeassistant:
name: Home
unit_system: metric
# etc
webrtc:
ice_servers:
# 为每个 STUN 或 TURN 服务器添加一个条目
- url:
- "stun:stun.example.com:19302"
- "stun:stun2.example.com:12345"
- url: "turn:turn.domain.com"
username: "username"
credential: "abc123"
操作
homeassistant
集成提供了控制 Home Assistant 本身的操作,以及对任何实体的通用控制。
操作 homeassistant.check_config
读取配置文件并检查其正确性,但不会将其加载到 Home Assistant 中。如果发现错误,会创建一个持久通知和日志条目。
操作 homeassistant.reload_all
重新加载所有可以在不重新启动 Home Assistant 的情况下重新加载的 YAML 配置。
它调用所有可用的域上的 reload
操作。此外,
它重新加载核心配置(相当于调用
homeassistant.reload_core_config
)、主题(frontend.reload_themes
)和自定义 Jinja(homeassistant.reload_custom_templates
)。
在重新加载之前,会执行基本的配置检查。如果失败,则不会执行重新加载并会引发错误。
操作 homeassistant.reload_custom_templates
重新加载 config/custom_templates
目录中的所有 Jinja 模板。对这些模板的更改将在下次导入模板渲染时生效。
操作 homeassistant.reload_config_entry
重新加载集成配置条目。
数据属性 | 描述 |
---|---|
entity_id |
用于引用配置条目的实体 ID 列表。 |
area_id |
用于引用配置条目的区域 ID 列表。 |
device_id |
用于引用配置条目的设备 ID 列表。 |
entry_id |
用于引用配置条目的单个配置条目 ID。 |
操作 homeassistant.reload_core_config
重新加载 homeassistant:
下的核心配置和所有链接的文件。加载后,将应用新配置。新的 customize:
信息将在下次实体状态更新时应用。
操作 homeassistant.restart
重新启动 Home Assistant 实例(也会在启动时重新加载配置)。
这也会在重新启动之前进行配置检查。如果配置检查失败,则 Home Assistant 不会重新启动,而是会创建一个 ID 为 persistent_notification.homeassistant_check_config
的持久通知。日志将显示配置检查失败的详细信息。
操作 homeassistant.stop
停止 Home Assistant 实例。必须从主机设备重新启动 Home Assistant 才能再次运行。
操作 homeassistant.set_location
更新 Home Assistant 默认区域(通常为“Home”)的位置。
数据属性 | 可选 | 描述 |
---|---|---|
latitude |
否 | 您位置的纬度。 |
longitude |
否 | 您位置的经度。 |
elevation |
是 | 您位置的海拔高度。 |
示例
actions:
- action: homeassistant.set_location
data:
latitude: 32.87336
longitude: 117.22743
elevation: 120
操作 homeassistant.toggle
通用操作,用于切换设备的开/关。与 light.toggle
、switch.toggle
等操作的用法相同。与其他操作的区别在于,它可以用于混合不同的域,例如,可以在单个操作中切换灯光和开关。
数据属性 | 可选 | 描述 |
---|---|---|
entity_id |
是 | 要切换开/关的设备的 entity_id。 |
示例
actions:
- action: homeassistant.toggle
target:
entity_id:
- light.living_room
- switch.tv
操作 homeassistant.turn_on
通用操作,用于打开设备。与 light.turn_on
、switch.turn_on
等操作的用法相同。与其他操作的区别在于,它可以用于混合不同的域,例如,可以在单个操作中打开灯光和开关。
数据属性 | 可选 | 描述 |
---|---|---|
entity_id |
是 | 要打开的设备的 entity_id。 |
示例
actions:
- action: homeassistant.turn_on
target:
entity_id:
- light.living_room
- switch.tv
操作 homeassistant.turn_off
通用操作,用于关闭设备。与 light.turn_off
、switch.turn_off
等操作的用法相同。与其他操作的区别在于,它可以用于混合不同的域,例如,可以在单个操作中关闭灯光和开关。
数据属性 | 可选 | 描述 |
---|---|---|
entity_id |
是 | 要关闭的设备的 entity_id。 |
示例
actions:
- action: homeassistant.turn_off
target:
entity_id:
- light.living_room
- switch.tv
操作 homeassistant.update_entity
强制一个或多个实体更新其数据,而不是等待下一个计划的更新。
数据属性 | 可选 | 描述 |
---|---|---|
entity_id |
否 | 要更新的一个或多个 entity_id。可以是一个列表。 |
示例
actions:
- action: homeassistant.update_entity
target:
entity_id:
- light.living_room
- switch.coffe_pot
操作 homeassistant.save_persistent_states
立即保存持久状态(对于从 RestoreEntity 派生的实体)。 保持正常的定期保存间隔。
通常这些状态会在启动时、每 15 分钟和关闭时保存。