Scheda “Aggiungi/Modifica comando”

  • Nome comando: il nome che verrà visualizzato sul pulsante.
  • Categoria: il nome della categoria di cui farà parte il pulsante. In questo modo i pulsanti possono essere filtrati velocemente e allo stesso tempo possono essere creati widget relativi a categorie specifiche. E’ possibile creare nuove categorie premendo il pulsante “Nuova”.
  • Colore sfondo: imposta il colore dello sfondo del pulsante. Il pulsante “Reset” imposta il colore di default.
  • Colore testo: imposta il colore del testo del pulsante. Il pulsante “Reset” imposta il colore di default.
  • Dimensione testo: imposta la dimensione del testo del pulsante.
  • Tipo connessione: determina il tipo di connessione che si andrà a creare per dialogare con i dispositivi. E’ possibile scegliere tra:
    • Connessione SSH
    • Socket (Stream socket)
    • URL (metodo GET).
  • Server: indica l’indirizzo IP o nome di dominio del server da contattare. Non è utilizzabile nelle connessioni tramite URL.
  • Porta: indica la porta del server a cui connettersi. E’ indispensabile nelle connessione SSH, dove solitamente è la porta 22, e nel caso di connessione socket. Non è utilizzabile nelle connessioni tramite URL.
  • Username: questo campo è valido solo nelle connessioni SSH e indica il nome utente con cui ci si autenticherà sul server SSH. 
  • Password: questo campo è valido solo nelle connessioni SSH e indica la password con cui ci si autenticherà sul server SSH. 
  • Lista comandi: è la lista dei comandi che verranno eseguiti sul server a cui ci si connette. E’ possibile inserire più comandi in successione tramite il pulsante “Aggiungi comando script”. I comandi inseriti verranno eseguiti in successione una volta stabilita la connessione con il server. I comandi devono essere inseriti tenendo presente il tipo di connessione scelta:
    • Nel caso di connessioni SSH è possibile inserire comandi di sistema o avviare script bash, python, perl etc.. Gli script devono avere l’attributo +x e quindi essere eseguibili (es.: ./mioscript.sh);
    • Per le connessioni SOCKET è possibile inserire qualsiasi testo come comando che poi verrà interpretato dal server che lo riceve. Quindi i comandi socket invieranno il testo inserito nel comando come un flusso di bytes di lunghezza variabile tramite il protocollo TCP/IP a qualsiasi server socket che è in grado di riceverlo e interpretarlo.
    • Infine, nel caso di connessioni URL, vanno inseriti i comandi come se si scrivessero nel browser (es.: http://admin:password@www.exsamplesite.com:81/allarm.php?log=false&active=true). Per il momento l’unico metodo supportato  nelle connessioni URL è il metodo GET, in futuro potrebbe essere implementato anche il metodo POST.
  • Conferma con slide: se abilitato visualizzerà prima della connessione al server un pulsante a scorrimento che ne determinerà l’effettivo invio. Questo metodo è utile per evitare di inviare comandi sul server in maniera accidentale, sopratutto quando sono stati inseriti widget nella home.
  • PIN: in maniera simile a “Conferma slide” richiede un PIN preimpostato prima dell’invio di comandi al server. Utile sempre per evitare di inviare comandi in maniera accidentale. Il comando PIN non è compatibile con “Conferma slide”, quindi è possibile usare solo una funziona per volta.
  •  Risposta comando: determina in che modo verrà visualizzata la risposta, se prevista, di un comando in Android. Se sono stati inseriti più comandi nello stesso pulsante le risposte saranno cumulative, e verranno identificate tramite delle parentesi quadre con il numero del comando [nn]. E’ possibile scegliere tra tre diverse opzioni. Se “Risposta comando” verrà impostata su “Nessuna” non verrà visualizzata nessuna risposta sul dispositivo; Se impostata su “Toast” verrà visualizzata una notifica temporanea a scomparsa automatica sul nostro dispositivo; Se invece è impostata su “DialogBox” allora la risposta verrà visualizzata in una finestra che ne permetterà la lettura, e toccherà a noi chiudere la finestra dopo la visualizzazione. 
  • Comando stato: questo comando serve per visualizzare sul pulsante un’icona che può cambiare colore in base alla risposta che riceviamo da un determinato pulsante. Quindi se questo campo è settato con uno specifico comando di stato, l’app non farà altro che interrogare il server e attendere una risposta che verrà poi confrontata con i campi successivi “Stringa codice ON” e “Stringa codice OFF“. Il “Comando stato” utilizzerà lo stesso “Tipo connessione”, “Server”, “Porta”, “Username” e “Password” impostati in precedenza per effettuare la connessione. Esempio:
    • per un tipo connessione SSH il comando potrebbe essere “./stato_luce.py”
    •  per un tipo connessione SOCKET il comando potrebbe essere “stato_luce”
    •  per un tipo connessione URL il comando potrebbe essere “http://www.exsamplesite.com:81/status_allarm.php
  • Stringa codice ON: visualizzerà nel pulsante un’icona di colore verde se nella risposta del comando sarà contenuta la stringa di codice ON. Questa funzione è pensata per stabilire all’apertura dell’app o tramite specifica richiesta se un determinato dispositivo è accesso o spento. Esempio: se impostiamo la stringa “Accesa” e la risposta del comando che riceveremo è “La luce è stata Accessa al piano primo” allora in questo caso verrà visualizzata l’icona verde nel pulsante. N.B: La stringa è case sensitive e questo vuol dire che per funzionare correttamente la stringa deve rispettare le maiuscole e minuscole.
  • Stringa codice OFF: visualizzerà nel pulsante un’icona di colore rosso se nella risposta del comando sarà contenuta la stringa di codice OFF. Esempio: se impostiamo la stringa “Spenta” e la risposta del comando che riceveremo è “La luce è stata Spenta” allora in questo caso verrà visualizzata l’icona rossa nel pulsante. N.B: La stringa è case sensitive e questo vuol dire che per funzionare correttamente la stringa deve rispettare le maiuscole e minuscole. Se la risposta non soddisfa né la condizione ON né la condizione OFF allora l’icona rimarrà di colore grigio.
  • Tempo ritardo stato: se più comandi di stato vengono inviati allo stesso server in maniera asincrona e quest’ultimo non accetta connessioni simultanee allora potrebbe capitare che il server chiuda le connessioni multiple senza dare risposta e noi non riceveremmo lo stato di un determinato dispositivo. Per ovviare a questo inconveniente, possiamo impostare un ritardo in millisecondi che va da 0ms a 5000ms di ritardo. Esempio:
    • primo pulsante con ritardo 0ms,
    • secondo comando con ritardo di 1000ms,
    • terzo comando con ritardo di 2000ms;
    • I comandi di stato vengono inviati normalmente in maniera pressoché simultanea, ma in questo caso solo il primo farà richiesta all’istante, mentre il secondo attenderà 1 secondo e il terzo 2 secondi. In questo modo il server gestirà le tre connessioni in maniera corretta ed una alla volta. Chiaramente questo ritardo deve essere impostato su comandi che se si collegano allo stesso server contemporaneamente e non su comandi con connessione singola.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *