A utilização de ficheiros package no Home Assistant permite condensar num só ficheiro vários componentes de configuração diferentes, tais como sensor
, switch
, light
, groups
, automation
, etc.
Para que o HA aceite estes ficheiros, deve ser incluído no configuration.yaml
o seguinte:
homeassistant:
packages: !include_dir_named packages/
Com a configuração acima, o HA vai procurar na pasta packages
todos os ficheiros com a extensão .yaml
. Isto permite-nos ter vários ficheiros dentro da pasta packages
, cada um para uma finalidade diferente. Por exemplo electricidade.yaml
para os contadores de electricidade, portas_janelas.yaml
para a detecção de portas e janelas ou quarto1.yaml
para todos os equipamentos de um quarto.
Os componentes aceites no ficheiro packages são os seguintes:
script
shell_command
automation
input_text
input_select
input_boolean
input_number
input_datetime
rest_command
sensor
binary_sensor
switch
light
alert
group
customize
timer
EDIT 2020-08-19: Com as alterações que o HA tem sofrido ao longo do tempo existem agora mais componentes aceites nos packages. A saber:
Todas as plataformas baseadas em integrações podem ser usadas,
Componentes cujas entidades sejam identificadas por uma
key
que represente umaentitie_id
({key: config}
) têm de terkeys
únicas em cada package e na configuração principal. Por exemplo, se utilizarem o código abaixo num package, o nomemy_input
não poderá ser usado numinput_boolean:
de outro package.
input_boolean:
my_input:
A estrutura do ficheiro deverá seguir as normas gerais do HA e YAML, com os itens ordenados e encadeados com dois espaços. Existem vários tipos de include que obrigam a diferentes formatações dos ficheiros e este exemplo corresponde ao tipo !include_dir_named
. Para outras formatações consultem o link no final desta publicação.
script:
radio_play_zone:
alias: Play Zone
...
automation:
- alias: 'Ajustar o volume do Rádio'
trigger:
...
input_select:
estacoes_de_radio:
name: 'Selecciona a Estação de Radio:'
options:
...
input_number:
volume_radio:
name: Volume
icon: mdi:volume-high
...
sensor:
- platform: template
sensors:
kodi_servidor:
...
group:
radio:
name: Rádio
control: hidden
...
homeassistant:
customize:
script.radio_play_zone:
friendly_name: Tocar na Zona Seleccionada
icon: mdi:play
...
Sabe mais em: