Gli alias e gli script dell'assistente possono essere importati da un file YAML (.yaml). Questa pagina descrive ogni campo del file, versione 1. Per sapere come importare un file e gestire ciò che contiene, vedere Come Usare Alias e Script dell'Assistente.
L'avvio più rapido è il modello nell'app: Assistente → → Aiuto → Alias e script → Scarica il modello. Contiene un esempio di tutto, pronto per l'importazione.
Struttura
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 | Necessario | Descrizione |
|---|---|---|
version |
SÌ | Deve essere 1 |
defaults.locale |
NO | Accettato per la portabilità; non ancora utilizzato |
prompt |
NO | Alias: entities, groups, rooms e phrases |
cli |
NO | scripts |
Un file necessita di almeno un alias o uno script. Gli elenchi che non utilizzi possono essere tralasciati. I campi sconosciuti sono errori.
Un file con alias può essere importato solo mentre è caricato un progetto ETS e gli alias appartengono a quel progetto: importandoli si sostituisce il set di alias del progetto. Gli script non appartengono a un progetto; ognuno viene aggiunto ai tuoi script e uno con lo stesso nome di uno script esistente lo sostituisce.
Campi di ogni voce
| Campo | Necessario | Predefinito | Descrizione |
|---|---|---|---|
name |
SÌ | - | Le parole che lo innescano |
aka |
NO | [] |
Altre parole che lo attivano, ad es. [my lamp, sofa light] |
enabled |
NO | true |
false mantiene l'immissione ma la disattiva |
note |
NO | - | La tua nota; l'assistente lo ignora |
override |
NO | false |
Solo alias: true fa sì che l'alias prevalga su un elemento con lo stesso nome nel progetto ETS |
I nomi vengono confrontati ignorando maiuscole e minuscole e gli spazi circostanti. Ogni name e aka deve essere univoco tra tutti gli alias e separatamente tra tutti gli script: un alias e uno script possono condividere un nome.
Entità
Un nome descrittivo per un indirizzo di gruppo.
prompt:
entities:
- name: reading lamp
aka: [my lamp]
address: 1/2/3
dpt: "1.001"
note: beside the sofa
| Campo | Necessario | Descrizione |
|---|---|---|
address |
SÌ | L'indirizzo del gruppo, main/middle/sub |
dpt |
NO | Un suggerimento sul tipo di punto dati, tra virgolette. Il tipo del progetto caricato vince. |
Un indirizzo che non si trova nel progetto caricato è un avviso, non un errore: l'alias scrive comunque su quell'indirizzo, il che è utile per la messa in servizio e il test.
Gruppi
Un nome per più indirizzi di gruppo. Scrivere ad un gruppo ha sempre bisogno di forti conferme.
prompt:
groups:
- name: downstairs lights
aka: [lower floor lights]
members:
- 1/1/1
- 1/1/2
- ref: reading lamp
| Campo | Necessario | Descrizione |
|---|---|---|
members |
SÌ | Indirizzi di gruppo o ref: seguito dallo name di un'entità nello stesso file |
Camere
Una stanza tutta tua, per quando il progetto ETS non prevede raggruppamenti di stanze utili. Ogni membro ha una tipologia, quindi set home office temperature to 21 modifica solo gli indirizzi della temperatura della stanza.
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 | Necessario | Descrizione |
|---|---|---|
members[].address |
SÌ | L'indirizzo del gruppo |
members[].type |
SÌ | Di cosa si tratta, ad esempio light, blind o temperature: utilizza la parola che utilizzerai nelle richieste |
Le stanze possono essere create solo in un file; nell'app possono essere attivati, disattivati ed eliminati.
Frasi
Una scorciatoia per una richiesta completa. L'assistente legge la frase come quella richiesta, con i consueti chiarimenti e conferme.
prompt:
phrases:
- name: good night
aka: [bedtime]
expands_to: "turn all kitchen lights off"
| Campo | Necessario | Descrizione |
|---|---|---|
expands_to |
SÌ | La richiesta di candidarsi, in inglese |
Script
Una sequenza denominata di comandi esatti, eseguita 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 | Necessario | Descrizione |
|---|---|---|
lines |
SÌ | Comandi esatti, uno per riga, senza la parola sharknx - vedere Comandi dell'Assistente |
- Le righe vengono eseguite una dopo l'altra, come i comandi uniti con
;: una riga viene comunque eseguita se una precedente non è riuscita. Utilizza&&,||o|all'interno di una riga per le dipendenze. - Gli indirizzi devono essere letterali: uno script non utilizza mai nomi o alias di progetto.
- Uno script non può eseguire un altro script.
nameeakadi uno script non possono essere un comando integrato:help,connect,disconnect,discover,write,read,monitor,ping,restart,progmode,scan,progscan,project,iporun.
Esempio 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"
Convalida
SharKNX controlla l'intero file prima di importare qualsiasi cosa e mostra un report. Non viene salvato nulla finché non importi un file senza errori.
| Errori: blocca l'importazione | Avvertenze: importazione consentita |
|---|---|
YAML non valido, un version diverso da 1, un campo sconosciuto |
Un indirizzo non presente nel progetto caricato |
Un campo obbligatorio mancante, members vuoto o lines |
Un alias con lo stesso nome di un elemento nel progetto (usa override: true per far vincere l'alias) |
| Un indirizzo non valido | Un comando script che dipende dal progetto, ad es. un tipo di punto dati: viene ricontrollato quando viene eseguito lo script |
Un nome duplicato o aka, ref per un'entità mancante |
|
| Una riga di script che non è un comando valido o che esegue un altro script | |
| Uno script chiamato come un comando integrato | |
| Alias senza progetto ETS caricato |
Limiti
| Limite | Valore |
|---|---|
| Dimensioni del file | 256 KB |
| Alias in un file | 500 |
| Script in un file | 200 |
Imparentato
- Come Usare Alias e Script dell'Assistente: crea, importa e gestisci
- Comandi dell'Assistente - la sintassi del comando utilizzata negli script
- L'assistente SharKNX - come funziona l'assistente