Originariamente inviato da
gdsar
Allora, se usi la task che ti ho mostrato io non devi impostare alcuna variabile. Te la spiego un po' più nel dettaglio!
Impostare il profilo
Tu vuoi che il WiFi si spenga da solo quando non è collegato ad un AP (Access Point, ossia il router) da, diciamo, dieci minuti.
Quindi il profilo deve attivarsi laddove:
-
WiFi non connesso (Stato - Rete - WiFi Collegato - Inverti)
-
%WIFI ~
on (Stato - Variabili - Valore variabile - %WIFI *uguale* on)
%WIFI è una variabile preimpostata in tasker. Ogni volta che vedi una variabile scritta
TUTTA IN MAIUSCOLO, quella variabile è integrata nativamente e non hai dunque bisogno di settarla con una task. La variabile %WIFI può avere due valori, "on" ed "off", nel caso il WiFi sia rispettivamente acceso o spento.
Quindi questo profilo controlla se il WiFi è acceso e se contemporaneamente è collegato ad un AP.
Se si verifica contemporaneamente che il WiFi sia acceso ma il telefono
non sia collegato ad un AP allora parte la task associata al profilo.
Impostare la task
Giustamente, dato che qualche disconnessione temporanea può capitare e non vogliamo che il WiFi venga spento quando scendiamo un attimo a buttar la spazzatura per poi tornare subito in casa sotto copertura di rete, facciamo in modo di attendere dieci minuti. Quindi la prima cosa da fare nella task è:
-
Aspetta -> Dieci minuti
E poi continuiamo con un IF. Abbiamo la necessità di determinare se, dopo dieci minuti, il WiFi è ancora disconnesso. Altrimenti verrebbe spento a prescindere, anche se è stato disconnesso per mezzo secondo! Vogliamo che venga spento se e solo se è ancora acceso ma non collegato, quindi:
-
IF
%WIFI ~
on
AND
%WIFII !~
*CONNECTION*
-
Spegni WiFi
-
END IF
*
La variabile %WIFII (due i, sta per "WiFi Information") è - vedi, sempre tutta in maiuscolo! - un'altra variabile integrata. Contiene informazioni sulla connessione alla rete WiFi. Se sei curioso di quale sia il contenuto esatto della variabile, crea una piccola task con
Alert -> Flash -> %WIFII e falla partire. Vedrai una notifica toast con il contenuto della variabile
Se il WiFi è collegato, il contenuto della variabile è
>>> CONNECTION <<< BLABLABLABLA con tutta una serie di dati sulla connessione.
Se il WiFi è scollegato il contenuto della variabile è
>>> SCAN <<< BLABLABLA con un elenco degli AP vicini
Possiamo quindi sfruttare questa variabile per determinare se il telefono è connesso o meno. Se è connesso, la variabile contiene la parola CONNECTION. Sennò, no.
Quindi nell'IF noi controlliamo:
- Se il WiFi è ancora acceso
- Se la variabile %WIFII contiene il termine "CONNECTION" -> Ossia se il WiFi è collegato
**
Quando imposti il check sulla variabile %WIFII devi usare il secondo "diverso", non il primo. La traduzione italiana è scadente in questo senso. Il primo set di "uguale-diverso" corrisponde all'effettivo italiano "uguale-diverso" (in inglese "
equals/doesn't equal", simboli "eq / neq"), quindi Tasker fa un check e determina se il valore della variabile corrisponde
esattamente al dato che inserisci. Il secondo set di "uguale-diverso" corrisponde più o meno a "
contiene-non contiene" (in inglese "
matches/doesn't match", simboli "~ / !~"), e siccome la nostra variabile ha un testo lunghetto noi dobbiamo solo controllare se essa
contiene o meno il termine CONNECTION.
*CONNECTION* va scritto con i due asterischi, che indicano "qualsiasi altro carattere". Ovverosia l'IF controlla se la variabile contiene quel termine anche se seguito o preceduto da qualcos'altro.
Fine! Questa è la task più semplice che si possa scrivere per ottenere questo risultato.
IMPORTANTE: nelle impostazioni del profilo bisogna togliere la spunta a "Ripristina impostazioni", altrimenti al termine della task il WiFi verrebbe riattivato, mandando il meccanismo in loop!
Ricapitolando:
Io nel mio profilo faccio un doppio controllo, utilizzando le stesse variabili, così:
QUI trovi qualche spiegazione in più sulle variabili, compreso un elenco completo di quelle integrate.
Ho cercato di essere quanto più possibile chiaro, spero di esserci riuscito