Libreria di comandi di controllo
La libreria dei comandi contiene tutti i comandi disponibili che vengono inviati ai dispositivi. È stata suddivisa in diversi gruppi che possono essere selezionati quando si aggiunge un dispositivo alla configurazione di controllo. Alcuni gruppi di comandi sono stati creati da GoBright e possono essere utilizzati in generale per un paio di dispositivi.
Personalizzare i comandi
Il vero vantaggio dei gruppi di comandi è la possibilità di creare comandi personalizzati per dispositivi specifici. Questi possono essere aggiunti utilizzando il pulsante '+' accanto alla sottovoce Gruppi o utilizzando il pulsante 'copia' quando è stato selezionato un gruppo.
Generale
Ogni gruppo ha un nome che appare nell'elenco a sinistra. I gruppi predefiniti da GoBright sono riconoscibili dal logo GoBright a sinistra del titolo. Questi gruppi predefiniti non possono essere modificati, ma è possibile copiarli e creare un nuovo gruppo con i loro comandi.
La connessione può essere impostata su TCP o HTTP e dipende dal dispositivo utilizzato. La casella di controllo 'usa checksum' decide se i comandi necessitano di un checksum per poter funzionare correttamente. Si noti che attualmente sono supportati solo alcuni calcoli di checksum.
Comandi
Sotto il nome e la connessione si trova un elenco che visualizza tutti i comandi del gruppo. È possibile aggiungere nuovi comandi utilizzando il pulsante '+' o modificare quelli esistenti selezionandone uno dall'elenco. Quando il comando è in fase di modifica, le opzioni sono configurate sul lato destro dello schermo.
Immettere un comando o una serie di comandi utilizzando il pulsante "+". Quando si immettono più comandi, questi vengono inviati in ordine sequenziale dall'alto verso il basso. Dopo ogni comando, il carattere di fine messaggio viene utilizzato per identificare la ricezione completa della risposta.
Il ritardo del messaggio ritarda un comando di un numero di millisecondi immesso. I comandi possono essere inviati ripetutamente al dispositivo. L'ultima opzione è una casella di controllo che può essere utilizzata per la verifica, che verrà approfondita nella prossima sezione.
Verifica
Utilizzando la verifica è possibile recuperare lo stato di un dispositivo e questo, a sua volta, costituisce la base per la comunicazione bidirezionale tra la piattaforma GoBright e il dispositivo. I comandi di verifica vengono eseguiti ogni 5 secondi per identificare eventuali cambiamenti nel dispositivo, ad esempio la modifica del volume tramite un telecomando. Ciò è utile per accertarsi dello stato del dispositivo.
Ogni comando può attivare un comando di verifica e prevedere una risposta. Il processore di verifica controlla in quale parte si trova la risposta attesa utilizzando JavaScript sul 'risultato' che il dispositivo invierà.
Infine, è possibile selezionare la casella di controllo "usa l'estrazione di argomenti di verifica". L'estrazione degli argomenti di verifica è utile solo per i comandi che richiedono un argomento. Per la maggior parte dei dispositivi (se non per tutti) questo significa solo il livello del volume. Questo recupera un argomento dal comando originale, che deve essere chiamato 'args[0]', e lo utilizza nel processo di verifica. È altamente personalizzabile, ma è sensibile agli errori quando vengono inserite stringhe non corrette. Vediamo un esempio di TV LG che utilizza il comando di controllo del volume.
Esempio - Controllo del volume del televisore LG
Per dimostrare come funzionano i comandi e le verifiche, utilizziamo come esempio il televisore LG. Di seguito è riportato il comando completo per il controllo del volume, che cambia utilizzando il cursore sul pannello di controllo o il telecomando del televisore. Utilizzando la verifica, entrambe le impostazioni del volume sono costantemente sincronizzate tra loro.
Comando di controllo del volume
Il comando completo (RS232) per impostare il controllo del volume sul televisore LG è "kf 1 {}". La prima parte 'kf 1' è l'inizio di quasi tutti i comandi utilizzati dalla serie LG. Poiché accetta solo stringhe esadecimali, convertiamo la parte successiva con 'custom.intToHex'. L'ultima parte '(args[0], 2)' imposta il volume su un determinato valore.
Tutti i comandi LG terminano con una "x" impostata nel campo "Fine del messaggio". Non c'è ritardo nel messaggio e il comando viene inviato una sola volta.
Verifica
Il comando di verifica recupera lo stato dal dispositivo. In questo caso, il comando 'kf 1 FF' verifica il volume attuale del televisore LG. Ciò significa che non appena il comando viene inviato, recupera immediatamente lo stato.
La risposta attesa è 'OK', che è parte del risultato quando si recupera lo stato. Questa parte del risultato viene estratta utilizzando la funzione '{}'. Questa legge solo la stringa dal 6° all'8° carattere e la verifica con la risposta attesa.
La funzione finale utilizza un argomento (args[0]) che viene impostato in modo da poter essere utilizzato all'interno del comando. Deve essere un numero intero, quindi la prima parte della funzione 'custom.hexToInt' converte l'esadecimale recuperato in un numero intero. La parte centrale utilizza una chiamata regex che viene usata per filtrare una certa parte del risultato 'custom.regex'. La parte finale utilizza una regex per cercare l'altezza del volume che viene mostrata dopo la parte 'f 01 OK' e prima della 'x'.
Per riassumere ciò che accade:
- Il comando di verifica viene inviato ogni 5 secondi
- Il processore esegue qualsiasi manipolazione delle stringhe, come una sottostringa o una conversione da decimale a esadecimale.
- La risposta del dispositivo viene verificata rispetto alla risposta prevista; se la risposta è uguale a quella prevista, l'interfaccia utente si aggiorna in questo stato.
- Il processore controlla una parte del risultato
- L'estrattore di argomenti estrae l'argomento e lo invia all'interfaccia utente(ad esempio, il livello del volume viene inviato all'interfaccia utente).