Los alias y scripts del asistente se pueden importar desde un archivo YAML (.yaml). Esta página describe todos los campos del archivo, versión 1. Para saber cómo importar un archivo y administrar tu contenido, consulta Cómo usar alias y scripts del asistente.
El inicio más rápido es la plantilla de la aplicación: Asistente → → Ayuda → Alias y scripts → Descargar plantilla. Contiene un ejemplo de todo, listo para importar.
Estructura
version: 1
prompt: # aliases - tied to the ETS project loaded when you import
entities: []
groups: []
rooms: []
phrases: []
cli:
scripts: [] # scripts - available in every project
| Campo | Requerido | Descripción |
|---|---|---|
version |
Sí | Debe ser 1 |
defaults.locale |
No | Aceptado para portabilidad; aún no usado |
prompt |
No | Alias: entities, groups, rooms y phrases |
cli |
No | scripts |
Un archivo necesita al menos un alias o un script. Las listas que no utilices pueden omitirse. Los campos desconocidos son errores.
Un archivo con alias solo se puede importar mientras se carga un proyecto ETS, y los alias pertenecen a ese proyecto; al importarlos se reemplaza el conjunto de alias del proyecto. Los guiones no pertenecen a un proyecto; cada uno se agrega a tus scripts y uno con el mismo nombre que un script existente lo reemplaza.
Campos de cada entrada
| Campo | Requerido | Por defecto | Descripción |
|---|---|---|---|
name |
Sí | - | Las palabras que lo desencadenan |
aka |
No | [] |
Otras palabras que lo desencadenan, p. [my lamp, sofa light] |
enabled |
No | true |
false mantiene la entrada pero la desactiva |
note |
No | - | Tu propia nota; el asistente lo ignora |
override |
No | false |
Solo alias: true hace que el alias prevalezca sobre un elemento con el mismo nombre en el proyecto ETS. |
Los nombres se comparan ignorando mayúsculas y minúsculas y los espacios circundantes. Cada name y aka debe ser único entre todos los alias y por separado entre todos los scripts: un alias y un script pueden compartir un nombre.
Entidades
Un nombre descriptivo para una dirección de grupo.
prompt:
entities:
- name: reading lamp
aka: [my lamp]
address: 1/2/3
dpt: "1.001"
note: beside the sofa
| Campo | Requerido | Descripción |
|---|---|---|
address |
Sí | La dirección del grupo, main/middle/sub. |
dpt |
No | Una sugerencia de tipo de punto de datos, entre comillas. El tipo de proyecto cargado gana. |
Una dirección que no está en el proyecto cargado es una advertencia, no un error: el alias aún escribe en esa dirección, lo cual es útil para la puesta en servicio y las pruebas.
Grupos
Un nombre para varias direcciones de grupo. Escribir a un grupo siempre necesita una fuerte confirmación.
prompt:
groups:
- name: downstairs lights
aka: [lower floor lights]
members:
- 1/1/1
- 1/1/2
- ref: reading lamp
| Campo | Requerido | Descripción |
|---|---|---|
members |
Sí | Direcciones de grupo, o ref: seguidas del name de una entidad en el mismo archivo |
Habitaciones
Una habitación propia, para cuando el proyecto ETS no tenga una agrupación de habitaciones útil. Cada miembro tiene un tipo, por lo que set home office temperature to 21 cambia solo las direcciones de temperatura de la habitación.
prompt:
rooms:
- name: home office
aka: [office, study]
members:
- { address: 4/1/1, type: light }
- { address: 4/1/2, type: blind }
- { address: 4/1/3, type: temperature }
| Campo | Requerido | Descripción |
|---|---|---|
members[].address |
Sí | La dirección del grupo. |
members[].type |
Sí | Qué es, por ejemplo light, blind o temperature: utiliza la palabra que utilizará en las solicitudes. |
Las habitaciones sólo se pueden crear en un archivo; en la aplicación se pueden activar, desactivar y eliminar.
Frases
Un atajo para una solicitud completa. El asistente lee la frase como esa petición, con la habitual aclaración y confirmación.
prompt:
phrases:
- name: good night
aka: [bedtime]
expands_to: "turn all kitchen lights off"
| Campo | Requerido | Descripción |
|---|---|---|
expands_to |
Sí | La solicitud para correr, en inglés. |
Guiones
Una secuencia con nombre de comandos exactos, ejecutada con sharknx <name> o sharknx run <name>.
cli:
scripts:
- name: secure house
aka: [lock down]
lines:
- "connect"
- "write 1/0/1 off"
- "write 1/0/2 off"
note: nightly shutdown
| Campo | Requerido | Descripción |
|---|---|---|
lines |
Sí | Comandos exactos, uno por línea, sin la palabra sharknx - ver Comandos del asistente |
- Las líneas se ejecutan una tras otra, como comandos unidos con
;: una línea aún se ejecuta si una anterior falló. Utiliza&&,||o|dentro de una línea para dependencias. - Las direcciones deben ser literales: un script nunca utiliza nombres o alias de proyectos.
- Un script no puede ejecutar otro script.
nameyakade un script no pueden ser un comando integrado:help,connect,disconnect,discover,write,read,monitor,ping,restart,progmode,scan,progscan,project,iporun.
Ejemplo completo
version: 1
prompt:
entities:
- name: kitchen island lights
aka: [island]
address: 1/0/12
dpt: "1.001"
groups:
- name: kitchen lights
members:
- ref: kitchen island lights
- 1/0/13
rooms:
- name: media room
aka: [cinema]
members:
- { address: 1/1/1, type: light }
- { address: 1/1/2, type: blind }
phrases:
- name: movie mode
expands_to: "turn kitchen lights off"
cli:
scripts:
- name: secure house
aka: [night shutdown]
lines:
- "write 1/0/12 off"
- "write 1/0/13 off"
Validación
SharKNX verifica todo el archivo antes de importar cualquier cosa y muestra un informe. No se guarda nada hasta que importe un archivo sin errores.
| Errores - bloquear la importación | Advertencias - importación permitida |
|---|---|
YAML no válido, un version distinto de 1, un campo desconocido |
Una dirección que no está en el proyecto cargado |
Falta un campo obligatorio, members o lines vacío |
Un alias con el mismo nombre que un elemento del proyecto (use override: true para que el alias gane) |
| Una dirección no válida | Un comando de script que depende del proyecto, p. un tipo de punto de datos: se verifica nuevamente cuando se ejecuta el script |
Un nombre duplicado o aka, un ref para una entidad faltante |
|
| Una línea de script que no es un comando válido o que ejecuta otro script | |
| Un script llamado como un comando integrado | |
| Alias sin ningún proyecto ETS cargado |
Límites
| Límite | Valor |
|---|---|
| Tamaño del archivo | 256 KB |
| Alias en un archivo | 500 |
| Guiones en un archivo | 200 |
Relacionado
- Cómo usar alias y scripts del asistente - crear, importar y administrar
- Comandos del asistente - la sintaxis de comando utilizada en los scripts
- El asistente de SharKNX - cómo funciona el asistente