52
1 / 52 Tasker Android

Tasker Android

Embed Size (px)

DESCRIPTION

Tasker guide

Citation preview

Page 1: Tasker Android

1 52

Tasker Android

2 52

Table of contents

Introduzione 3Editing 10Linguaggio 14

Subroutine (Perform task) 14Prioritagrave 15

Localizzazione 15Flussi 20Telefonia 20Connessioni 20

Bluetooth 20Internet 20

Accesso e richieste Web 21Email 22

Multimedia 22Volumi 22

Variabili 22Scripting 23Menu 23Input - tastiera 23Files 24Tempo time 24Estensioni 24

Plugin 24Tips amp tricks 26

Consigli di programmazione 34Debug 34Cose utili 35

Problemi 37MIE CREAZIONI 39

Contexts 39Tasks 39

IDEE FUTURE 45Miei utilizzi possibili 48

Esempi duso 51Schemi di esempio 51

3 52

Introduzione

(appunti personali in libertagrave su Tasker per Android non sempre aggiornatinelle varie sezioni probabilmente anche con errori)

Tasker egrave un programma che permette di automatizzare le attivitagrave in Android indubbiamente egrave unprogramma complesso e come tale egrave un po difficile da imparare ma daltra parte offre maggiori possibilitagraverispetto ad altri programmi (quale Locale i cui plugin sono comunque compatibili con Tasker)Le possibilitagrave poi sono ancora maggiori nei telefonini in cui sono stati sbloccati i permessi di root(comunque non necessario per la gran parte delle attivitagrave)

Il cuore di Tasker sono un insieme di azioni che formano ununica entitagrave chiamata Task

I task possono essere avviati

middot Manualmenteo creando un widget sulla home del cellulare procedendo in questo modo

sect In schermata home premere a lungo su un posto vuoto e scegliere di aggiungere unwidget tasker (scegliendo quello senza timer)

sect Per completare la definizione egrave necessario specificare licona associata (clickando sulpulsante con licona a forma di tavolozza colorata)

sect Infine si preme il pulsante Make widget per creare il widget (se clickando non succedenulla verificare che nella schermata di Tasker sia attivo il pulsante in basso a destracon la scritta On e barretta verde (per attivarlo basta clickare sul suo omologopulsante Off))

middot Automaticamente definendo degli eventicontesti in cui deve partire il tasko Eventi sono condizioni puntuali che avvengono in un dato istante senza una durata temporale

apprezzabile (eg arrivo di un SMS arriva ad una specifica ora ma non si puograve dire che duri pertot minuti) si ragiona in termini di Nellistante in cui egrave avvenuto xxx

o Contesti hanno sia unora di inizio ma anche una certa durata egrave possibile quindi ragionare intermini di Finchegrave egrave in corso xxx (eg lalimentazione del cellulare con il trasformatoreoppure il periodo in cui egrave pianificata unattivitagrave sul calendario)

Linsieme di contestieventi + task associati sono contenuti in un profilo

I profili a loro volta possono essere raggruppati in gruppi che appaiono in tab diversi sulla schermataprincipale di Tasker (visibili nella seconda figura a destra sottostante indicati dalle frecce gialleSe non sono visibili occorre premere sulla freccia verso il basso MOLTO sfumata presente sul marginesuperiore della finestra principale (indicata con A nella immagine sottostante) Clickando sopra lintestazione di un tab egrave possibile crearne di nuovi spostarli)

Schermata di editingEcco una schermata di tasker 12 con programmi giagrave impostati

4 52

In alto vediamo una toolbar che permette di accedere ai tab dei diversi elementi i profili i task le scene(che sono intefacce grafiche) e le variabili

In mezzo in questo caso egrave aperto il tab dei profili vediamo lelenco dei profili (per editarne uno bastaclickarci sopra) e sulla estrema destra lindicatore se sia attivo o meno (toggle modificabile premendocisopra)

In basso nella toolbar da sinistra a destra vi sono i pulsanti per

middot Chiudere tasker salvando tutte le modifiche effettuate

middot Chiudere tasker senza salvare le modifiche

middot Aggiungere un elemento (in questo caso essendo il tab dei profili aggiungere un profilo nuovo)

5 52

middot Abilitaredisabilitare Tasker SE NON CE LINDICATORE VERDE NON FUNZIONERA

NESSUN PROFILO (NE IN AUTOMATICO NE IN MANUALE) NE WIDGET

Clickando su un profilo (o creandone uno nuovo assegnandoli un nome) avremo di fronte una schermata chepresenta grosso modo 2 colonne verticali

middot Quella sinistra contiene i contesti cioegrave le condizioni che fanno scattare lesecuzione di (task) specific (In questo caso leventocontesto egrave rappresentato dalla esecuzione di alcuni progammi [GMaps MyTracks e Places] da parte dallutente)

middot Quella destra indica i task specifici da eseguire allinizio (freccia verde ) ed al termine (freccia

rossa ) dellesecuzione

Nello specifico per tutti e 3 viene fatta la stessa cosa cioegrave attivare il GPS allinizio (con il task GPS Auto-Launch) e disattivarlo alla fine (task GPS Off)Nota che nellimmagine sottostante manca un pezzo della definizione del terzo contesto perchegrave laschermata egrave troppo piccola inoltre la toolbar in basso egrave diversa in quanto limmagine egrave ricavata da unaprecedente versione di Tasker

6 52

Esempio Dalla schermata di cui sopra premiamo il tasto che ci permetteragrave di scegliere leventocondizione

(context) che faragrave scattare il nostro task a questo punto ci verragrave chiesto il tipo di condizione che ciinteressa considerare

7 52

cioegrave se vogliamo far scattare il tutto

middot alla partenza di un programma (Application) egrave possibile scegliere uno specifico programma sceglierlitutti magari specificando eccezioni (parmetro opzionale not)

middot ad una certa ora o giorno (Time Day)

middot luogo (Location) identificato per mezzo del GPSWificella telefonica

middot condizioni durature (State) per cui possibile specificare cosa fare allinizio ed anche al termine dellacondizione eg attivazione del blutetooth inserimento dellauricolare

middot eventi istantanei di breve durata (Event) cosigrave brevi che non esiste una gestione di inizio e fine attivitagravema solo unazione da applicare in corrispondenza dellevento

Possibilitagrave di

middot creazione profili

middot notifiche in tray

middot widget clickabili (potendo scegliere licona tra le 200 x 22 set di icone disponibili)

middot compiti timer dipendenti

middot clickabel shortcuts sono piugrave limitati di un widget ma possono essere usati in altri contesti (eg neifolder)

RICAPITOLANDO

I progammi di Tasker sono definiti da

middot Contesti (anche multiplicontemporaneamente) che rappresentano gli eventicondizioni che attivano undeterminato task i contesti sono definiti da

o Stati Airplane Mode Bluetooth Connected Calendar Entry Docked (AnyDeskCar)Headset Plugged (AnyMicNo Mic) Incoming Call Keyboard Out Light Level MediaButton Missed Call Mobile Network (Any2G3G) Orientation (Face Up etc) Power AnyACUSB Proximity Sensor Signal Strength Unread Text Variable Value Wifi Network

8 52

Wifi Nearo Eventi sono una 50ina suddivisi in categorie alcuni dispongono di parametri aggiuntivi (eg

numerici o se devono poi trasmettere il segnale ad altri programmi)sect DateTime Alarm Clock Alarm Done Date Set TimeDate Set Timezone Setsect Display OffOnUnlockedsect File File ClosedDeletedModifiedMovedOpenedAttributes Changedsect Hardware Camera Button Search Button Long-Press Card MountedRemoved

Unmountedsect Misc Gesture possono essere registrate non serve un pulsante di inizio per la

attivazione delle gesture basta il contestosect Phone Missed Call Phone IdleOffhookRinging Received Text SMS Send Success

Failuresect Power Battery ChangedFullLowOverheatingsect System Device Boot Device Shutdown Device Storage Low Locale Changed New

RemovedUpdated Package Wallpaper Changedsect UI Button Gadget Clicked New Window Notification Notification Clicked Zoom

Clicksect Variables Variable ClearedSetsect 3rd Party Email Received (K9) Gentle Alarm Kaloer Clock OpenWatch Reddit

Notify Screebl Widget Locker (LockedUnlockedHidden)

middot Task sono insiemi di azioni (in realtagrave comprendono actions [icona fulmine] e settings [icona ruotadentata]) che possono essere da eseguire in successione oppure scegliendone una un menu da cuiscegliere una singola attivitagrave Se si intende ripetere le stesse azioni in condizioni diverse (ad esempioattivare il GPS amp alzare luminositagrave display quando parte GMaps oppure la macchina fotografica per iltagging) conviene attribuire un nome al task (che comprende le azioni che ci interessano) ed usarlo poiquante volte vogliamo nei diversi contesti (per definire task con nome basta premere il pulsante new)Le azioni disponibili sono 190 divise in 14 categorie

o ogni azione dispone di un campo if per parametri condizionali necessari per eseguire lazione o in alcune (eg Applicazioni) esiste un parametro not che permette di specificare condizioni

negativeeccezioni

NOTA IMPORTANTE le azioni che rientrano nei cosiddetti settings (licona egrave una ruota dentata) sevengono modificate nellesecuzione di un profilo al termine di esso vengono rimesse come erano prima(esempio screen brightness ) in automatico da Tasker

Task disponibili

middot Alert Flash Notify LEDSoundVibrate Cancel Notification Popup TimedWithTaskIconsWithTaskNames Torch Vibrate Vibrate Pattern

middot App Calendar Insert Go Home Kill App Load App Open Map (StreetViewNavigate)

middot Audio AlarmCallDTMFMediaNotificationRingerSystem Volume Haptic Feedback ToggleMicrophone Mute Notification Pulse NotificationRinger Vibrate Silent Mode Speakerphone SoundEffects toggle

middot Dialog 28 System Settings dialogs

middot Display Auto-Brightness Close System Dialogs Keyguard Keyguard Pattern Display BrightnessDisplay Off Timeout Display Rotation Set Wallpaper Stay On Status Bar (expandcollapse)

middot Encrypt (not in market version) FileDirectory EncryptDecryptEnterClear Passphrase

middot File Browse Files Directory CreateDeleteMove File CopyDeleteMoveOpen Write To File ReadLine Read Paragraph ZipUnzip File

middot Input Button Dpad Type (root only) Input Method Select Soft Keyboard (show)

middot Media Media Button Events (grab) Media Player Control Music FileDir PlayForwardBackStopPhotoSeriesTimeSeries Record Audio Record Audio Stop Ringtone Scan Card

middot Misc (Broadcast) Action Intent Component Intent Get Location GPS Set (lt23 or Cyanogensubmod) Run (ASE) Script Say Say To File Shut Up Search For Set Clipboard Reboot (rootonly) Set CPU (root only) Set Timezone

middot Network Airplane Mode Autosync Bluetooth Bluetooth ID Compose Email Browse URL HTTP

9 52

GET HTTP POST Mobile Data (onoff) Mobile Data 2G3G (Cyanogen only) USB Tether WiFi(settoggle) Wifi DisconnectReassociateReconnect Wifi Sleep Wifi Tether Wimax (settoggle)

middot Phone Call Call Log Call BlockDivertRevert Compose MMSSMS (Templated) Contacts EndCall Radio Send SMS Send Data SMS Silence Ringer Take Call

middot Tasker Change Icon Set If End If Goto Action Perform Task Profile Toggle Query Action SetWidget Icon Set Widget Label Stop Wait Wait Until

middot Variables SetClearIncDecQueryRandomizeSplitJoinList

middot Zoom Element Position Size State Visibility Text Size Text Image Text Colour Image Alpha

middot 3rd Party Android Notifier Astrid BeyondPod Due Today JuiceDefender DataToggle GentleAlarm NewsRob OfficeTalk SleepBot SMS Backup+ TeslaLED WidgetLocker

Variabili built-in utilizzabiliLe seguenti sono variabili predefinite utilizzabili nei nostri taskAirplane Mode Status Battery Level Bluetooth Status Brightness Called NameNumber CPUFrequencyGovernor DurationTimeDate (Out) Clipboard Contents Date Display Timeout Day of MonthWeek Free Memory GPS Status HTTP ResponseData Keyguard Status Email FromCcSubjectDateTime Light Level LocationAccuracyAltitudeProviderSpeedFix Time Music Track Profiles ActiveProfiles Enabled Screen State Text Sender AddressNameBodyDateSubjectTime Cell IDSignalStrengthServiceState Silent Mode Task Time in QueueLast Caller NameNumberDateTime (In) LastApplication Last Photo Muted Notification Title Phone Number Roaming Speakerphone TasksRunning Telephone Network Operator Time Time Seconds Uptime Seconds Speech VolumeLevel AlarmCallDTMFMediaNotificationRingerSystem WiFi Status Wimax Status Window Label

Indirizzi utili

middot Wiki con vari profili di esempio httptaskerwikidotcom

middot Esempio in inglese di semplice applicazione passo-passo httplifehackercom5599116how-to-turn-your-android-phone-into-a-fully+automated-superphone

middot Thread lungo su forum httpwwwdroidforumsnetforumdroid-applications66195-what-have-you-done-taskerhtml

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

10 52

Editing

Il programma viene editato tramite un interfaccia visuale non essendo disponibile alcun editor esterno (daPC) nonostante sia possibile esportare i task in formato XML (peraltro piuttosto complicato da capire conun apparente caos nellordine delle singole istruzioni)

Innanzitutto dalle impostazioni (tasto hardware Menu -gt preferences -gt tab UI) egrave possibile

middot Selezionare una modalitagrave di interfaccia semplificata (beginner mode) o completa francamente consiglioquestultima tanto il programma rimane complesso da utilizzare e quindi tanto vale avere in vista tuttele opzioni disponibili

middot Specificare che tipo di azione debba avvenire quando in fase di editing si clicka (brevemente o a lungo)su un singolo comando di un task egrave possibile scegliere tra

o nienteo cancellazione (delete) del comandoo editing dello stessoo options (opzioni contestuali)

Da parte mia consiglio click breve -gt editing click lungo -gt options

middot Se impostato come sopra clickando a lungo su un comando di un task appariragrave un menu contestualeche permetteragrave operazioni di cutcopypaste del comando (per spostarlocopiarlo) oppure Insert action

per aggiungere un nuovo comando al di sopra di quello clickato (altrimenti clickando sul pulsante

il nuovocomando viene sempre inserito in fondo)

EDITARE UN TASKLaccesso allediting di un tasko lo si fa

middot Clickando su un elemento della lista di task oppure sul pulsante per creare uno nuovoPer visualizzare lelenco dei task occorre attivare il tab tasks premendo sulla scritta Tasks presente inalto (alla destra di quella Profiles) [NOTA nella figura sottostante viene indicato il pulsante da premere per attivare il tab task quellomostrato egrave perograve lelenco profili non dei tasks]

middot Clickando sul task associato ad un profilo Nellelenco dei profili (mostrato premendo sulla scrittaProfiles in alto a sinistra) vi egrave lelenco dei profili definiti clickando su uno di essi sulla destra

11 52

appariranno i task ad esso associati (egrave premendo su uno di questi che si passa direttamente allediting

di quel task)

Ecco una parte della schermata di editing

middot Il pulsante serve ad aggiungere un nuovo comando in fondo al programma

middot Il pulsante permette di specificare alcune proprietagrave del task

o come comportarsi nel caso un task venga eseguito mentre egrave giagrave in esecuzione uno identico (sipuograve scegliere di farli funzionare entrambi oppure di far sopravvivere quello giagrave in esecuzioneoppure la nuova istanza)

o se mantenere il programma attivo anche a schermo spento utile per evitare che una lungaelaborazione si interrompa a causa della modalitagrave automatica a basso consumo di Android(daltra parte espone a rischi di consumo di batteria elevato ad esempio se il programma perun bug continua a girare indefinitivamente)

middot il pulsante permette di scegliere unicona da associare al task tale icona appare nellelenco deitask ed egrave obbligatoria se si vuole creare un widget dal task

A seconda di come avete specificato su preferenze (vedi sopra) clickando su un comando egrave possibile

12 52

modificarne i parametri in una schermata simile a questa [ad esser precisi questa egrave ledit di un evento malo schema egrave identico]

Pulsanti presenti

middot Accetta le modifiche al comando

middot Lascia perdere le modifiche al comando

middot Mostra un breve testo di aiuto sul comando (molto utile La prima volta chiede se si vuole

scaricare una volta per tutte la guida di tutti i comandi sulla scheda SDcosa che raccomando)

Sempre da questa schermata egrave possibile sostituire un comando con un altro premendo sulla riga diintestazione del comando (che nella figura ho indicato con una piccola freccia gialla)

Drag amp drop sui comandiAlcune operazioni di editing sono possibili clickando sulla estrema destra della linea di un comando(dove in genere vi egrave una piccola icona [vedi freccia gialla nella figura sottostante])

A questo punto egrave possibile trascinarlo

middot sugiugrave per spostarlo in altri punti del programma

middot oppure portandolo completamente in basso (dove nel frattempo egrave apparsa licona di un cestino) eliminarlo

13 52

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

14 52

Linguaggio

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Subroutine (Perform task)Questo comando permette di richiamare un task dallinterno di un altro task in pratica permette di chiamareuna subroutine

Il problema principale nellutilizzo egrave la gestione del rapporto di esecuzione tra task chiamante ed il nuovotask invocato infatti si puograve volere aspettare che il nuovo task abbia terminato la propria esecuzione oppureeseguire i due task contemporaneamente (ad esempio se il nuovo task non crea nulla di necessario al taskchiamante)

Questi rapporti sono regolati dalla proprietagrave Stop e dalla prioritagrave (Priority)

Possibilitagrave

middot task chiamante ha prioritagrave piugrave bassa --gt sorta di richiamo subroutine

middot I nomi dei task iniziano con la lettera maiuscola ricordatene se pensi di eseguirne unomanualmente con il comando Esegui task

middot Quando si fa partire un task con il pulsante Test gli viene assegnata unaltissima prioritagrave percui rischia di incasinare i funzionamenti delle proprietagrave in eventuali task secondari al limite conviene farpartire il task che si vuole httpgroupsgooglecomgrouptaskerbrowse_threadthreadc69984d07da62852f229345b40070597lnk=gstampq=priorityf229345b40070597

middot Quando si lancia un task da un altro task (con lazione Task launch) il parametro STOP indica seoccorra aspettare che il task richiamato debba finire prima di poter continuare la cosa non egrave da pocosoprattutto se il resto dello script lavora sui dati creati dal task richiamato inizialmente In realtagrave contanoanche le prioritagrave nel comportamento vedi sezione apposta

PROBLEMIIn realtagrave ci sono problemi nella gestione attuale (per cui lautore sta lavorando sulla prossima versione) percui al momento non riesco a fare in modo che sia atteso il termine del nuovo task prima di proseguiredandogli prioritagrave piugrave alta non cambia nulla mettendo la proprietagrave Stop lo scripting si ferma ligrave per sempre

Al momento quindi nelle routine piugrave adoperate come subroutine come ultima istruzione setto una variabileomonima alla routine+END (xxxEND)=on per essere sicuri che la routine abbia finito devo prima dichiamare il task settare la variabile xxxEND ad un valore diverso da on chiamare il task e nella istruzionesuccessiva mettere un While Until xxxEND=onun po sporco ma

Anche con tale variabile sentinella ottengo che dica solo la vrase Save settings in esecuzione ma nonarriva alla fine

Temo sia un bug

(Task A)Perform Task BSay A ended

(Task B)Say B startedSET few variablesSay B ended

15 52

Stop Priority A Priority B Resulting say No 5 0 A ended B Started B ended No 5 5 A ended B Started B ended No 5 6 A ended B Started B ended No 5 10 B started A ended B endedYes 5 10 B started B ended (no A ended script stop [disappear Kill App]Yes 5 5 B started B ended (no A ended script stop [disappear Kill App]Yes 5 0 B started B ended (no A ended script stop [disappear Kill App]

Maggiori dettagli e consigli

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread4bfc0c42513b899f38e9d290cc696468

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread1d072ff37368d8aa3eac641b90f07d03

Proposta per riuscire a fare in modo che un task aspetti il completamento dellaltroI just used the tasks that you had typed with only one change When you use the Perform Task in Task 1 I had Stop OFF Your tasks work fine this way (unless you are trying to do other things you have not mentioned) If this is the case you should probably make the Priority higher say 10 then it will do everything in the second task before continuing with the first task If you are still having a problem you could use a variable to tell Task 1 when it should continue Task T1 Varible Set WAITING to 1 Popup Title T1 Text Text 1 Perform Task Name T2 Stop OFF Wait Until WAITING Set Popup Title T3 Text Text 3 Task T2 Popup Title T2 Text Text 2 Varible Clear WAITING

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Prioritagrave

La prioritagrave di un task dipende da molti fattori

middot Un task avviato con il pulsante Test delleditor ha una super-prioritagrave

middot I task shortcutwidget hanno la prioritagrave impostata nel menu di Tasker Prefs Action setting (globalsetting)

middot Nel caso di Perform task dipende dalla proprietagrave di questa action

middot Vi egrave anche un qualcosa che riguarda i profili

middot Se devi mettere una prioritagrave alta al max adopera 9 ( e non 10 sembra fare casini)

In realtagrave la cosa egrave piugrave complicata vedi httpgroupsgooglecomgrouptaskerbrowse_threadthreada7c32914ae697898253da51e02b56ac3lnk=gstampq=priority253da51e02b56ac3

Created with the Personal Edition of HelpNDoc Free help authoring environment

LocalizzazioneE un sistema un po complesso da far funzionare correttamente

Tasker egrave in grado di sfruttare diversi sistemi di localizzazione geografica

middot Celle telefoniche molto impreciso (anche di km) resiste abbastanza anche al chiuso non comportaconsumo in piugrave rispetto al normale utilizzo telefonico

16 52

middot Rete Internet [net] forse sfrutta tipo una sorta di IP o simili

middot Rete WiFi (amp Internet) si basa su mappe di distribuzione dei punti di accesso WiFi (mappeconsultabile tramite Google) sapendo che una data rete WiFi si trova in un specifico contestogeografico risale alla localizzazione attuale Poichegrave le mappe sono online egrave necessario laccesso adInternet (motivo per cui la localizzazione WiFi richiede anche laccesso alla rete Internet [anche sechiaramente il WiFI in segrave ne egrave indipendente come rete])

middot GPS molto preciso (anche nellordine delle decine di metri) difficilmente funziona al chiuso consumaparecchia batteria

Il permesso di adoperare la localizzazione legata alle reti (telefoniche o WiFi) oppure al GPS egravecontrollata da specifiche impostazioni in Android da notare che sono una cosa diversa dalla sempliceattivazione della rete WiFi scambio dati (ad esempio per la localizzazione con WiFi occorre che siaattivo il modulo WiFi del cellulare ma ANCHE abilitatapermessa la localizzazione tramite reti) Al momento non credo sia possibile cambiare il permesso di localizzazione tramite Tasker suppongo siaun fatto di sicurezzaprivacy (per evitare che un programma ci possa tracciare di nascosto) daltra partetenerlo sempre acceso non credo comporti nessun consumo in piugrave in quanto costituisce una sempliceautorizzazione allutilizzo dei dati per la localizzazione ma in segrave non attiva nessuna rete o dispositivo (cosache eventualmente dovragrave essere fatta a parte)

Chiaramente egrave importante la frequenza con cui vengono controllate le fonti della attuale localizzazioneIn genere esistono

middot una frequenza di controllo con dispositivo acceso (display on) specifica per ogni modalitagrave dilocalizzazione

middot una frequenza di controllo a dispositivo spento (display off) comune a tutte le fonti per minimizzare iltempo di attivazione del dispositivo per effetuare i controlli (nel menu Display Off Settings egrave possibileimpostare sia la frequenza che la massima durata dei controlli)

Il servizio di localizzazione presuppone di trovarsi sempre nel punto ricavato dallultima localizzazione

Questi sistemi vengono sfruttati per 2 scopi

middot Conoscere esattamente il punto dove ci si trova (possibilmente al metro) ad esempio per dire dove citroviamo per farci raggiungere (positionlocation)

Per questo scopo si possono adoperare

o Rete internet [net] consuma poco (poco in piugrave rispetto al normale uso telefonico purchegrave siadisponibile un network) ma la precisione varia enormemente e richiede sia il collegamento allarete (network internet suppongo) che quello telefonico (phone service)Per impostarla occorre creare un location context e disattivare il GPS egrave importante impostareun raggio ampio intorno alla posizione di interesse (la frequenza di controllo egrave regolabile sia adisplay spento che acceso)

o Rete WiFi E Internet [net] maggiore consumo precisione molto variabile (buona in areepopolose) necessita sia di rete Internet (net) che WIFiPer impostarlo occorre creare un location context disattivare il GPS ed attivare il WiFi perottenere una maggiore precisionePer registrarlo occorre recarsi sul posto almeno 1 volta

o GPS alto consumo alta precisione allaperto molti problemi al chiusoPer impostarlo occorre creare un location context e deselezionare NetLa frequenza di controllo a dispositivo acceso egrave impostabile come pure quella del dispositivospento (in comune con altre fonti di localizzazione) Si puograve impostare anche il GPS Timeout che specifica quanto tempo debba continuare iltentativo di ottenere una localizzazione GPS (chiaramente questo influenza sia la capacitagrave distabilire una localizzazione ma anche il consumo della batteria)Poichegrave il controllo della posizione GPS non egrave continuo (ma ad intervalli) e dato che al chiusonon riesce a stabilire la posizione se dalla posizione A (localizzata) si passa nella posizione B

17 52

al chiuso (no segnale no localizzazione) il dispositivo faragrave riferimento allultima posizionestabilita (fix) per cui crederagrave di essere ancora in A (cambieragrave idea quando usciragrave allaperto edavverragrave un fix) NOTA sono 2 cose distintesect la predisposizione dellhardware (GPS on con Tasker oppure premere il pulsante

nella tray)sect e lutilizzo effettivo per localizzazione (che avviene con GetLocation in Tasker

oppure facendo partire un programma che usa il GPS) solo in questo secondopassaggio appariragrave licona lampeggiante (e poi stabile) nella tray chiaramente perograve nonpotragrave apparire mai se lhardware egrave scollegato

middot Sapere in quale AREA (piugrave vasta) ci si trova eg per fare qualcosa se ci troviamo in ambito casalingo(status)

Per questo si possono adoperare

o Stato di vicinanza a celle telefoniche consuma pochissimo (pari al normale funzionamentotelefonico) molto impreciso (ma resiste abbastanza bene al chiuso) Laggiornamento avviene secondo un frequenza regolabile quando il display egrave spento mentre adisplay acceso laggiornamento avviene appena la cella egrave visibile (as soon as the tower isvisible)Per adoperarlo occorre impostare uno state context con Cell near -gt Update mentre ci simuove nellarea di interesse (dunque egrave necessario recarcisivi almeno una volta)

o Stato di vicinanza a reti wifi consuma abbastanza (ma meno del GPS) buona la precisionenecessita di un accesso WIFi nei paraggi funziona anche al chiusoPer adoperarlo occorre impostare uno state context con WiFi near ed imposta il SSID(identificatore di rete) del miglior segnale WiFi che vuoi utilizzareidentificareQuesta funzione fa regolari controlli delle reti WiFi e scatta lattivazione se riconosce un puntodi accesso tra quelli impostati da notare che non serve collegarsi alla rete WiFi basta che siaricevibile (motivo per cui si puograve anche sfruttare la rete magari piugrave forte del vicino) Se si vuol evitare di mantenere acceso il WiFi in continuazione basta attivare la casella dicontrollo WiFi Toggle in questo modo verragrave attivato da Tasker solo quando necessiteragrave dieffettuare i controlli delle reti presenti

Rapporto tra consumo e precisione

MetodoConsumoenergetico

PrecisioneNecessita diinternet [net]

Necessita delWiFi

Stato vicinanza a celletelefoniche [State]

Posizione rete internet[Location][Net]

Sigrave

Posizione rete internet amp Wifi Sigrave Sigrave

Stato vicinanza a WiFi Sigrave

Posizione GPS Sigrave

Ad un numero maggiore di stelle corrisponde maggior consumo o precisione (a seconda della colonna)

Tasker adotta delle strategie per limitare il consumo energetico ad esempio in caso di piugrave contesti nelmedesimo profilo dapprima aspetteragrave che si attivino quelli a minor dispendio energetico e solo inseguito controlleragrave gli altri

18 52

Ad esempio per capire se si egrave a casa si puograve creare un profilo con doppio contesto che adopera sia unaposizione Internet [Location Net] che uno stato WiFi near Tasker effettueragrave i controlli WIFi soloquando ci si troveragrave nel quartiere

Variabili predefinite

Sono disponibili alcune variabili predefinite per controllare la localizzazione

Variabili utili per le celle telefoniche

middot CELLID (dinamica monitorata) riporta lattuale cella telefonica se nota Da notare che il Cell near state (cioegrave lo stato legato alla vicinanza ad una specifica cella) puograverimanere attivo (cioegrave indicare che si egrave in un dato contesto di celle) anche se in realtagrave la variabile CELLID riporta che effettuvamente la cella attuale egrave sconosciutanon valida Questo per evitare cheil contesto di stato Cell near state possa cambiare semplicemente perchegrave si egrave interrotto il serviziotelefonico In altre parole

o CELLID riporta sempre la situazione in tempo reale (nota che la stringa riportata iniziacon GSM (eg GSM2002651372) se non cegrave collegamento telefonico riporta comese la variabile non esistesse (cioegrave il nome stesso CELLID) NOTA

o lo stato Cell near state varia solo in risposta a ID di cella validi (non cambia se la cellaattuale diviene non valida [non raggiungibilitagrave telefonica])

Variabili utili per la localizzazione net (Internet)

middot LOCN (dinamica) latitudine e longitudine dellultimo network location fix (localizzazione)

middot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNTMS (dinamica) orario (espresso in secondi) in cui egrave avvenuto lultimo network location

fix Per ottenere quanto tempo egrave trascorso dallultimo fix (cioegrave unindicazione relativa) basta sottrarloallorario attuale che egrave contenuto nella variabile TIMES (ora attuale espressa in secondi trascorsidal Gennaio 1970 notare la S finale TIME e TIMES sono due cose diverse) eg TIMES-LOCNTMS --gt n di secondi trascorsi dallultimo fixPer controllare il successo di un fix vedi piugrave sotto (in pratica salva lorario attuale tenta il fix econfronta lorario salvato con quello dellultimo fix riuscito)

Variabili utili per il GPS

middot LOC (dinamica) latitudine e longitudine dellultimo GPS fix (localizzazione)

middot LOCACC (dinamica) accuratezza in metri dellultimo GPS fix

middot LOCALT (dinamica) altezza in metri dellultimo GPS fix riporta 0 se non egrave disponibile

middot LOCSPD (dinamica) velocitagrave (metri al secondo) dellultimo GPS fix riporta 0 se non egravedisponibile

middot LOCTMS (dinamica) orario (espresso in secondi) dellultimo GPS fix Per calcolare quanti secondi sono passati dallultimo fix vedi la spiegazione giagrave fatta per la variabile

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 2: Tasker Android

2 52

Table of contents

Introduzione 3Editing 10Linguaggio 14

Subroutine (Perform task) 14Prioritagrave 15

Localizzazione 15Flussi 20Telefonia 20Connessioni 20

Bluetooth 20Internet 20

Accesso e richieste Web 21Email 22

Multimedia 22Volumi 22

Variabili 22Scripting 23Menu 23Input - tastiera 23Files 24Tempo time 24Estensioni 24

Plugin 24Tips amp tricks 26

Consigli di programmazione 34Debug 34Cose utili 35

Problemi 37MIE CREAZIONI 39

Contexts 39Tasks 39

IDEE FUTURE 45Miei utilizzi possibili 48

Esempi duso 51Schemi di esempio 51

3 52

Introduzione

(appunti personali in libertagrave su Tasker per Android non sempre aggiornatinelle varie sezioni probabilmente anche con errori)

Tasker egrave un programma che permette di automatizzare le attivitagrave in Android indubbiamente egrave unprogramma complesso e come tale egrave un po difficile da imparare ma daltra parte offre maggiori possibilitagraverispetto ad altri programmi (quale Locale i cui plugin sono comunque compatibili con Tasker)Le possibilitagrave poi sono ancora maggiori nei telefonini in cui sono stati sbloccati i permessi di root(comunque non necessario per la gran parte delle attivitagrave)

Il cuore di Tasker sono un insieme di azioni che formano ununica entitagrave chiamata Task

I task possono essere avviati

middot Manualmenteo creando un widget sulla home del cellulare procedendo in questo modo

sect In schermata home premere a lungo su un posto vuoto e scegliere di aggiungere unwidget tasker (scegliendo quello senza timer)

sect Per completare la definizione egrave necessario specificare licona associata (clickando sulpulsante con licona a forma di tavolozza colorata)

sect Infine si preme il pulsante Make widget per creare il widget (se clickando non succedenulla verificare che nella schermata di Tasker sia attivo il pulsante in basso a destracon la scritta On e barretta verde (per attivarlo basta clickare sul suo omologopulsante Off))

middot Automaticamente definendo degli eventicontesti in cui deve partire il tasko Eventi sono condizioni puntuali che avvengono in un dato istante senza una durata temporale

apprezzabile (eg arrivo di un SMS arriva ad una specifica ora ma non si puograve dire che duri pertot minuti) si ragiona in termini di Nellistante in cui egrave avvenuto xxx

o Contesti hanno sia unora di inizio ma anche una certa durata egrave possibile quindi ragionare intermini di Finchegrave egrave in corso xxx (eg lalimentazione del cellulare con il trasformatoreoppure il periodo in cui egrave pianificata unattivitagrave sul calendario)

Linsieme di contestieventi + task associati sono contenuti in un profilo

I profili a loro volta possono essere raggruppati in gruppi che appaiono in tab diversi sulla schermataprincipale di Tasker (visibili nella seconda figura a destra sottostante indicati dalle frecce gialleSe non sono visibili occorre premere sulla freccia verso il basso MOLTO sfumata presente sul marginesuperiore della finestra principale (indicata con A nella immagine sottostante) Clickando sopra lintestazione di un tab egrave possibile crearne di nuovi spostarli)

Schermata di editingEcco una schermata di tasker 12 con programmi giagrave impostati

4 52

In alto vediamo una toolbar che permette di accedere ai tab dei diversi elementi i profili i task le scene(che sono intefacce grafiche) e le variabili

In mezzo in questo caso egrave aperto il tab dei profili vediamo lelenco dei profili (per editarne uno bastaclickarci sopra) e sulla estrema destra lindicatore se sia attivo o meno (toggle modificabile premendocisopra)

In basso nella toolbar da sinistra a destra vi sono i pulsanti per

middot Chiudere tasker salvando tutte le modifiche effettuate

middot Chiudere tasker senza salvare le modifiche

middot Aggiungere un elemento (in questo caso essendo il tab dei profili aggiungere un profilo nuovo)

5 52

middot Abilitaredisabilitare Tasker SE NON CE LINDICATORE VERDE NON FUNZIONERA

NESSUN PROFILO (NE IN AUTOMATICO NE IN MANUALE) NE WIDGET

Clickando su un profilo (o creandone uno nuovo assegnandoli un nome) avremo di fronte una schermata chepresenta grosso modo 2 colonne verticali

middot Quella sinistra contiene i contesti cioegrave le condizioni che fanno scattare lesecuzione di (task) specific (In questo caso leventocontesto egrave rappresentato dalla esecuzione di alcuni progammi [GMaps MyTracks e Places] da parte dallutente)

middot Quella destra indica i task specifici da eseguire allinizio (freccia verde ) ed al termine (freccia

rossa ) dellesecuzione

Nello specifico per tutti e 3 viene fatta la stessa cosa cioegrave attivare il GPS allinizio (con il task GPS Auto-Launch) e disattivarlo alla fine (task GPS Off)Nota che nellimmagine sottostante manca un pezzo della definizione del terzo contesto perchegrave laschermata egrave troppo piccola inoltre la toolbar in basso egrave diversa in quanto limmagine egrave ricavata da unaprecedente versione di Tasker

6 52

Esempio Dalla schermata di cui sopra premiamo il tasto che ci permetteragrave di scegliere leventocondizione

(context) che faragrave scattare il nostro task a questo punto ci verragrave chiesto il tipo di condizione che ciinteressa considerare

7 52

cioegrave se vogliamo far scattare il tutto

middot alla partenza di un programma (Application) egrave possibile scegliere uno specifico programma sceglierlitutti magari specificando eccezioni (parmetro opzionale not)

middot ad una certa ora o giorno (Time Day)

middot luogo (Location) identificato per mezzo del GPSWificella telefonica

middot condizioni durature (State) per cui possibile specificare cosa fare allinizio ed anche al termine dellacondizione eg attivazione del blutetooth inserimento dellauricolare

middot eventi istantanei di breve durata (Event) cosigrave brevi che non esiste una gestione di inizio e fine attivitagravema solo unazione da applicare in corrispondenza dellevento

Possibilitagrave di

middot creazione profili

middot notifiche in tray

middot widget clickabili (potendo scegliere licona tra le 200 x 22 set di icone disponibili)

middot compiti timer dipendenti

middot clickabel shortcuts sono piugrave limitati di un widget ma possono essere usati in altri contesti (eg neifolder)

RICAPITOLANDO

I progammi di Tasker sono definiti da

middot Contesti (anche multiplicontemporaneamente) che rappresentano gli eventicondizioni che attivano undeterminato task i contesti sono definiti da

o Stati Airplane Mode Bluetooth Connected Calendar Entry Docked (AnyDeskCar)Headset Plugged (AnyMicNo Mic) Incoming Call Keyboard Out Light Level MediaButton Missed Call Mobile Network (Any2G3G) Orientation (Face Up etc) Power AnyACUSB Proximity Sensor Signal Strength Unread Text Variable Value Wifi Network

8 52

Wifi Nearo Eventi sono una 50ina suddivisi in categorie alcuni dispongono di parametri aggiuntivi (eg

numerici o se devono poi trasmettere il segnale ad altri programmi)sect DateTime Alarm Clock Alarm Done Date Set TimeDate Set Timezone Setsect Display OffOnUnlockedsect File File ClosedDeletedModifiedMovedOpenedAttributes Changedsect Hardware Camera Button Search Button Long-Press Card MountedRemoved

Unmountedsect Misc Gesture possono essere registrate non serve un pulsante di inizio per la

attivazione delle gesture basta il contestosect Phone Missed Call Phone IdleOffhookRinging Received Text SMS Send Success

Failuresect Power Battery ChangedFullLowOverheatingsect System Device Boot Device Shutdown Device Storage Low Locale Changed New

RemovedUpdated Package Wallpaper Changedsect UI Button Gadget Clicked New Window Notification Notification Clicked Zoom

Clicksect Variables Variable ClearedSetsect 3rd Party Email Received (K9) Gentle Alarm Kaloer Clock OpenWatch Reddit

Notify Screebl Widget Locker (LockedUnlockedHidden)

middot Task sono insiemi di azioni (in realtagrave comprendono actions [icona fulmine] e settings [icona ruotadentata]) che possono essere da eseguire in successione oppure scegliendone una un menu da cuiscegliere una singola attivitagrave Se si intende ripetere le stesse azioni in condizioni diverse (ad esempioattivare il GPS amp alzare luminositagrave display quando parte GMaps oppure la macchina fotografica per iltagging) conviene attribuire un nome al task (che comprende le azioni che ci interessano) ed usarlo poiquante volte vogliamo nei diversi contesti (per definire task con nome basta premere il pulsante new)Le azioni disponibili sono 190 divise in 14 categorie

o ogni azione dispone di un campo if per parametri condizionali necessari per eseguire lazione o in alcune (eg Applicazioni) esiste un parametro not che permette di specificare condizioni

negativeeccezioni

NOTA IMPORTANTE le azioni che rientrano nei cosiddetti settings (licona egrave una ruota dentata) sevengono modificate nellesecuzione di un profilo al termine di esso vengono rimesse come erano prima(esempio screen brightness ) in automatico da Tasker

Task disponibili

middot Alert Flash Notify LEDSoundVibrate Cancel Notification Popup TimedWithTaskIconsWithTaskNames Torch Vibrate Vibrate Pattern

middot App Calendar Insert Go Home Kill App Load App Open Map (StreetViewNavigate)

middot Audio AlarmCallDTMFMediaNotificationRingerSystem Volume Haptic Feedback ToggleMicrophone Mute Notification Pulse NotificationRinger Vibrate Silent Mode Speakerphone SoundEffects toggle

middot Dialog 28 System Settings dialogs

middot Display Auto-Brightness Close System Dialogs Keyguard Keyguard Pattern Display BrightnessDisplay Off Timeout Display Rotation Set Wallpaper Stay On Status Bar (expandcollapse)

middot Encrypt (not in market version) FileDirectory EncryptDecryptEnterClear Passphrase

middot File Browse Files Directory CreateDeleteMove File CopyDeleteMoveOpen Write To File ReadLine Read Paragraph ZipUnzip File

middot Input Button Dpad Type (root only) Input Method Select Soft Keyboard (show)

middot Media Media Button Events (grab) Media Player Control Music FileDir PlayForwardBackStopPhotoSeriesTimeSeries Record Audio Record Audio Stop Ringtone Scan Card

middot Misc (Broadcast) Action Intent Component Intent Get Location GPS Set (lt23 or Cyanogensubmod) Run (ASE) Script Say Say To File Shut Up Search For Set Clipboard Reboot (rootonly) Set CPU (root only) Set Timezone

middot Network Airplane Mode Autosync Bluetooth Bluetooth ID Compose Email Browse URL HTTP

9 52

GET HTTP POST Mobile Data (onoff) Mobile Data 2G3G (Cyanogen only) USB Tether WiFi(settoggle) Wifi DisconnectReassociateReconnect Wifi Sleep Wifi Tether Wimax (settoggle)

middot Phone Call Call Log Call BlockDivertRevert Compose MMSSMS (Templated) Contacts EndCall Radio Send SMS Send Data SMS Silence Ringer Take Call

middot Tasker Change Icon Set If End If Goto Action Perform Task Profile Toggle Query Action SetWidget Icon Set Widget Label Stop Wait Wait Until

middot Variables SetClearIncDecQueryRandomizeSplitJoinList

middot Zoom Element Position Size State Visibility Text Size Text Image Text Colour Image Alpha

middot 3rd Party Android Notifier Astrid BeyondPod Due Today JuiceDefender DataToggle GentleAlarm NewsRob OfficeTalk SleepBot SMS Backup+ TeslaLED WidgetLocker

Variabili built-in utilizzabiliLe seguenti sono variabili predefinite utilizzabili nei nostri taskAirplane Mode Status Battery Level Bluetooth Status Brightness Called NameNumber CPUFrequencyGovernor DurationTimeDate (Out) Clipboard Contents Date Display Timeout Day of MonthWeek Free Memory GPS Status HTTP ResponseData Keyguard Status Email FromCcSubjectDateTime Light Level LocationAccuracyAltitudeProviderSpeedFix Time Music Track Profiles ActiveProfiles Enabled Screen State Text Sender AddressNameBodyDateSubjectTime Cell IDSignalStrengthServiceState Silent Mode Task Time in QueueLast Caller NameNumberDateTime (In) LastApplication Last Photo Muted Notification Title Phone Number Roaming Speakerphone TasksRunning Telephone Network Operator Time Time Seconds Uptime Seconds Speech VolumeLevel AlarmCallDTMFMediaNotificationRingerSystem WiFi Status Wimax Status Window Label

Indirizzi utili

middot Wiki con vari profili di esempio httptaskerwikidotcom

middot Esempio in inglese di semplice applicazione passo-passo httplifehackercom5599116how-to-turn-your-android-phone-into-a-fully+automated-superphone

middot Thread lungo su forum httpwwwdroidforumsnetforumdroid-applications66195-what-have-you-done-taskerhtml

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

10 52

Editing

Il programma viene editato tramite un interfaccia visuale non essendo disponibile alcun editor esterno (daPC) nonostante sia possibile esportare i task in formato XML (peraltro piuttosto complicato da capire conun apparente caos nellordine delle singole istruzioni)

Innanzitutto dalle impostazioni (tasto hardware Menu -gt preferences -gt tab UI) egrave possibile

middot Selezionare una modalitagrave di interfaccia semplificata (beginner mode) o completa francamente consiglioquestultima tanto il programma rimane complesso da utilizzare e quindi tanto vale avere in vista tuttele opzioni disponibili

middot Specificare che tipo di azione debba avvenire quando in fase di editing si clicka (brevemente o a lungo)su un singolo comando di un task egrave possibile scegliere tra

o nienteo cancellazione (delete) del comandoo editing dello stessoo options (opzioni contestuali)

Da parte mia consiglio click breve -gt editing click lungo -gt options

middot Se impostato come sopra clickando a lungo su un comando di un task appariragrave un menu contestualeche permetteragrave operazioni di cutcopypaste del comando (per spostarlocopiarlo) oppure Insert action

per aggiungere un nuovo comando al di sopra di quello clickato (altrimenti clickando sul pulsante

il nuovocomando viene sempre inserito in fondo)

EDITARE UN TASKLaccesso allediting di un tasko lo si fa

middot Clickando su un elemento della lista di task oppure sul pulsante per creare uno nuovoPer visualizzare lelenco dei task occorre attivare il tab tasks premendo sulla scritta Tasks presente inalto (alla destra di quella Profiles) [NOTA nella figura sottostante viene indicato il pulsante da premere per attivare il tab task quellomostrato egrave perograve lelenco profili non dei tasks]

middot Clickando sul task associato ad un profilo Nellelenco dei profili (mostrato premendo sulla scrittaProfiles in alto a sinistra) vi egrave lelenco dei profili definiti clickando su uno di essi sulla destra

11 52

appariranno i task ad esso associati (egrave premendo su uno di questi che si passa direttamente allediting

di quel task)

Ecco una parte della schermata di editing

middot Il pulsante serve ad aggiungere un nuovo comando in fondo al programma

middot Il pulsante permette di specificare alcune proprietagrave del task

o come comportarsi nel caso un task venga eseguito mentre egrave giagrave in esecuzione uno identico (sipuograve scegliere di farli funzionare entrambi oppure di far sopravvivere quello giagrave in esecuzioneoppure la nuova istanza)

o se mantenere il programma attivo anche a schermo spento utile per evitare che una lungaelaborazione si interrompa a causa della modalitagrave automatica a basso consumo di Android(daltra parte espone a rischi di consumo di batteria elevato ad esempio se il programma perun bug continua a girare indefinitivamente)

middot il pulsante permette di scegliere unicona da associare al task tale icona appare nellelenco deitask ed egrave obbligatoria se si vuole creare un widget dal task

A seconda di come avete specificato su preferenze (vedi sopra) clickando su un comando egrave possibile

12 52

modificarne i parametri in una schermata simile a questa [ad esser precisi questa egrave ledit di un evento malo schema egrave identico]

Pulsanti presenti

middot Accetta le modifiche al comando

middot Lascia perdere le modifiche al comando

middot Mostra un breve testo di aiuto sul comando (molto utile La prima volta chiede se si vuole

scaricare una volta per tutte la guida di tutti i comandi sulla scheda SDcosa che raccomando)

Sempre da questa schermata egrave possibile sostituire un comando con un altro premendo sulla riga diintestazione del comando (che nella figura ho indicato con una piccola freccia gialla)

Drag amp drop sui comandiAlcune operazioni di editing sono possibili clickando sulla estrema destra della linea di un comando(dove in genere vi egrave una piccola icona [vedi freccia gialla nella figura sottostante])

A questo punto egrave possibile trascinarlo

middot sugiugrave per spostarlo in altri punti del programma

middot oppure portandolo completamente in basso (dove nel frattempo egrave apparsa licona di un cestino) eliminarlo

13 52

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

14 52

Linguaggio

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Subroutine (Perform task)Questo comando permette di richiamare un task dallinterno di un altro task in pratica permette di chiamareuna subroutine

Il problema principale nellutilizzo egrave la gestione del rapporto di esecuzione tra task chiamante ed il nuovotask invocato infatti si puograve volere aspettare che il nuovo task abbia terminato la propria esecuzione oppureeseguire i due task contemporaneamente (ad esempio se il nuovo task non crea nulla di necessario al taskchiamante)

Questi rapporti sono regolati dalla proprietagrave Stop e dalla prioritagrave (Priority)

Possibilitagrave

middot task chiamante ha prioritagrave piugrave bassa --gt sorta di richiamo subroutine

middot I nomi dei task iniziano con la lettera maiuscola ricordatene se pensi di eseguirne unomanualmente con il comando Esegui task

middot Quando si fa partire un task con il pulsante Test gli viene assegnata unaltissima prioritagrave percui rischia di incasinare i funzionamenti delle proprietagrave in eventuali task secondari al limite conviene farpartire il task che si vuole httpgroupsgooglecomgrouptaskerbrowse_threadthreadc69984d07da62852f229345b40070597lnk=gstampq=priorityf229345b40070597

middot Quando si lancia un task da un altro task (con lazione Task launch) il parametro STOP indica seoccorra aspettare che il task richiamato debba finire prima di poter continuare la cosa non egrave da pocosoprattutto se il resto dello script lavora sui dati creati dal task richiamato inizialmente In realtagrave contanoanche le prioritagrave nel comportamento vedi sezione apposta

PROBLEMIIn realtagrave ci sono problemi nella gestione attuale (per cui lautore sta lavorando sulla prossima versione) percui al momento non riesco a fare in modo che sia atteso il termine del nuovo task prima di proseguiredandogli prioritagrave piugrave alta non cambia nulla mettendo la proprietagrave Stop lo scripting si ferma ligrave per sempre

Al momento quindi nelle routine piugrave adoperate come subroutine come ultima istruzione setto una variabileomonima alla routine+END (xxxEND)=on per essere sicuri che la routine abbia finito devo prima dichiamare il task settare la variabile xxxEND ad un valore diverso da on chiamare il task e nella istruzionesuccessiva mettere un While Until xxxEND=onun po sporco ma

Anche con tale variabile sentinella ottengo che dica solo la vrase Save settings in esecuzione ma nonarriva alla fine

Temo sia un bug

(Task A)Perform Task BSay A ended

(Task B)Say B startedSET few variablesSay B ended

15 52

Stop Priority A Priority B Resulting say No 5 0 A ended B Started B ended No 5 5 A ended B Started B ended No 5 6 A ended B Started B ended No 5 10 B started A ended B endedYes 5 10 B started B ended (no A ended script stop [disappear Kill App]Yes 5 5 B started B ended (no A ended script stop [disappear Kill App]Yes 5 0 B started B ended (no A ended script stop [disappear Kill App]

Maggiori dettagli e consigli

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread4bfc0c42513b899f38e9d290cc696468

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread1d072ff37368d8aa3eac641b90f07d03

Proposta per riuscire a fare in modo che un task aspetti il completamento dellaltroI just used the tasks that you had typed with only one change When you use the Perform Task in Task 1 I had Stop OFF Your tasks work fine this way (unless you are trying to do other things you have not mentioned) If this is the case you should probably make the Priority higher say 10 then it will do everything in the second task before continuing with the first task If you are still having a problem you could use a variable to tell Task 1 when it should continue Task T1 Varible Set WAITING to 1 Popup Title T1 Text Text 1 Perform Task Name T2 Stop OFF Wait Until WAITING Set Popup Title T3 Text Text 3 Task T2 Popup Title T2 Text Text 2 Varible Clear WAITING

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Prioritagrave

La prioritagrave di un task dipende da molti fattori

middot Un task avviato con il pulsante Test delleditor ha una super-prioritagrave

middot I task shortcutwidget hanno la prioritagrave impostata nel menu di Tasker Prefs Action setting (globalsetting)

middot Nel caso di Perform task dipende dalla proprietagrave di questa action

middot Vi egrave anche un qualcosa che riguarda i profili

middot Se devi mettere una prioritagrave alta al max adopera 9 ( e non 10 sembra fare casini)

In realtagrave la cosa egrave piugrave complicata vedi httpgroupsgooglecomgrouptaskerbrowse_threadthreada7c32914ae697898253da51e02b56ac3lnk=gstampq=priority253da51e02b56ac3

Created with the Personal Edition of HelpNDoc Free help authoring environment

LocalizzazioneE un sistema un po complesso da far funzionare correttamente

Tasker egrave in grado di sfruttare diversi sistemi di localizzazione geografica

middot Celle telefoniche molto impreciso (anche di km) resiste abbastanza anche al chiuso non comportaconsumo in piugrave rispetto al normale utilizzo telefonico

16 52

middot Rete Internet [net] forse sfrutta tipo una sorta di IP o simili

middot Rete WiFi (amp Internet) si basa su mappe di distribuzione dei punti di accesso WiFi (mappeconsultabile tramite Google) sapendo che una data rete WiFi si trova in un specifico contestogeografico risale alla localizzazione attuale Poichegrave le mappe sono online egrave necessario laccesso adInternet (motivo per cui la localizzazione WiFi richiede anche laccesso alla rete Internet [anche sechiaramente il WiFI in segrave ne egrave indipendente come rete])

middot GPS molto preciso (anche nellordine delle decine di metri) difficilmente funziona al chiuso consumaparecchia batteria

Il permesso di adoperare la localizzazione legata alle reti (telefoniche o WiFi) oppure al GPS egravecontrollata da specifiche impostazioni in Android da notare che sono una cosa diversa dalla sempliceattivazione della rete WiFi scambio dati (ad esempio per la localizzazione con WiFi occorre che siaattivo il modulo WiFi del cellulare ma ANCHE abilitatapermessa la localizzazione tramite reti) Al momento non credo sia possibile cambiare il permesso di localizzazione tramite Tasker suppongo siaun fatto di sicurezzaprivacy (per evitare che un programma ci possa tracciare di nascosto) daltra partetenerlo sempre acceso non credo comporti nessun consumo in piugrave in quanto costituisce una sempliceautorizzazione allutilizzo dei dati per la localizzazione ma in segrave non attiva nessuna rete o dispositivo (cosache eventualmente dovragrave essere fatta a parte)

Chiaramente egrave importante la frequenza con cui vengono controllate le fonti della attuale localizzazioneIn genere esistono

middot una frequenza di controllo con dispositivo acceso (display on) specifica per ogni modalitagrave dilocalizzazione

middot una frequenza di controllo a dispositivo spento (display off) comune a tutte le fonti per minimizzare iltempo di attivazione del dispositivo per effetuare i controlli (nel menu Display Off Settings egrave possibileimpostare sia la frequenza che la massima durata dei controlli)

Il servizio di localizzazione presuppone di trovarsi sempre nel punto ricavato dallultima localizzazione

Questi sistemi vengono sfruttati per 2 scopi

middot Conoscere esattamente il punto dove ci si trova (possibilmente al metro) ad esempio per dire dove citroviamo per farci raggiungere (positionlocation)

Per questo scopo si possono adoperare

o Rete internet [net] consuma poco (poco in piugrave rispetto al normale uso telefonico purchegrave siadisponibile un network) ma la precisione varia enormemente e richiede sia il collegamento allarete (network internet suppongo) che quello telefonico (phone service)Per impostarla occorre creare un location context e disattivare il GPS egrave importante impostareun raggio ampio intorno alla posizione di interesse (la frequenza di controllo egrave regolabile sia adisplay spento che acceso)

o Rete WiFi E Internet [net] maggiore consumo precisione molto variabile (buona in areepopolose) necessita sia di rete Internet (net) che WIFiPer impostarlo occorre creare un location context disattivare il GPS ed attivare il WiFi perottenere una maggiore precisionePer registrarlo occorre recarsi sul posto almeno 1 volta

o GPS alto consumo alta precisione allaperto molti problemi al chiusoPer impostarlo occorre creare un location context e deselezionare NetLa frequenza di controllo a dispositivo acceso egrave impostabile come pure quella del dispositivospento (in comune con altre fonti di localizzazione) Si puograve impostare anche il GPS Timeout che specifica quanto tempo debba continuare iltentativo di ottenere una localizzazione GPS (chiaramente questo influenza sia la capacitagrave distabilire una localizzazione ma anche il consumo della batteria)Poichegrave il controllo della posizione GPS non egrave continuo (ma ad intervalli) e dato che al chiusonon riesce a stabilire la posizione se dalla posizione A (localizzata) si passa nella posizione B

17 52

al chiuso (no segnale no localizzazione) il dispositivo faragrave riferimento allultima posizionestabilita (fix) per cui crederagrave di essere ancora in A (cambieragrave idea quando usciragrave allaperto edavverragrave un fix) NOTA sono 2 cose distintesect la predisposizione dellhardware (GPS on con Tasker oppure premere il pulsante

nella tray)sect e lutilizzo effettivo per localizzazione (che avviene con GetLocation in Tasker

oppure facendo partire un programma che usa il GPS) solo in questo secondopassaggio appariragrave licona lampeggiante (e poi stabile) nella tray chiaramente perograve nonpotragrave apparire mai se lhardware egrave scollegato

middot Sapere in quale AREA (piugrave vasta) ci si trova eg per fare qualcosa se ci troviamo in ambito casalingo(status)

Per questo si possono adoperare

o Stato di vicinanza a celle telefoniche consuma pochissimo (pari al normale funzionamentotelefonico) molto impreciso (ma resiste abbastanza bene al chiuso) Laggiornamento avviene secondo un frequenza regolabile quando il display egrave spento mentre adisplay acceso laggiornamento avviene appena la cella egrave visibile (as soon as the tower isvisible)Per adoperarlo occorre impostare uno state context con Cell near -gt Update mentre ci simuove nellarea di interesse (dunque egrave necessario recarcisivi almeno una volta)

o Stato di vicinanza a reti wifi consuma abbastanza (ma meno del GPS) buona la precisionenecessita di un accesso WIFi nei paraggi funziona anche al chiusoPer adoperarlo occorre impostare uno state context con WiFi near ed imposta il SSID(identificatore di rete) del miglior segnale WiFi che vuoi utilizzareidentificareQuesta funzione fa regolari controlli delle reti WiFi e scatta lattivazione se riconosce un puntodi accesso tra quelli impostati da notare che non serve collegarsi alla rete WiFi basta che siaricevibile (motivo per cui si puograve anche sfruttare la rete magari piugrave forte del vicino) Se si vuol evitare di mantenere acceso il WiFi in continuazione basta attivare la casella dicontrollo WiFi Toggle in questo modo verragrave attivato da Tasker solo quando necessiteragrave dieffettuare i controlli delle reti presenti

Rapporto tra consumo e precisione

MetodoConsumoenergetico

PrecisioneNecessita diinternet [net]

Necessita delWiFi

Stato vicinanza a celletelefoniche [State]

Posizione rete internet[Location][Net]

Sigrave

Posizione rete internet amp Wifi Sigrave Sigrave

Stato vicinanza a WiFi Sigrave

Posizione GPS Sigrave

Ad un numero maggiore di stelle corrisponde maggior consumo o precisione (a seconda della colonna)

Tasker adotta delle strategie per limitare il consumo energetico ad esempio in caso di piugrave contesti nelmedesimo profilo dapprima aspetteragrave che si attivino quelli a minor dispendio energetico e solo inseguito controlleragrave gli altri

18 52

Ad esempio per capire se si egrave a casa si puograve creare un profilo con doppio contesto che adopera sia unaposizione Internet [Location Net] che uno stato WiFi near Tasker effettueragrave i controlli WIFi soloquando ci si troveragrave nel quartiere

Variabili predefinite

Sono disponibili alcune variabili predefinite per controllare la localizzazione

Variabili utili per le celle telefoniche

middot CELLID (dinamica monitorata) riporta lattuale cella telefonica se nota Da notare che il Cell near state (cioegrave lo stato legato alla vicinanza ad una specifica cella) puograverimanere attivo (cioegrave indicare che si egrave in un dato contesto di celle) anche se in realtagrave la variabile CELLID riporta che effettuvamente la cella attuale egrave sconosciutanon valida Questo per evitare cheil contesto di stato Cell near state possa cambiare semplicemente perchegrave si egrave interrotto il serviziotelefonico In altre parole

o CELLID riporta sempre la situazione in tempo reale (nota che la stringa riportata iniziacon GSM (eg GSM2002651372) se non cegrave collegamento telefonico riporta comese la variabile non esistesse (cioegrave il nome stesso CELLID) NOTA

o lo stato Cell near state varia solo in risposta a ID di cella validi (non cambia se la cellaattuale diviene non valida [non raggiungibilitagrave telefonica])

Variabili utili per la localizzazione net (Internet)

middot LOCN (dinamica) latitudine e longitudine dellultimo network location fix (localizzazione)

middot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNTMS (dinamica) orario (espresso in secondi) in cui egrave avvenuto lultimo network location

fix Per ottenere quanto tempo egrave trascorso dallultimo fix (cioegrave unindicazione relativa) basta sottrarloallorario attuale che egrave contenuto nella variabile TIMES (ora attuale espressa in secondi trascorsidal Gennaio 1970 notare la S finale TIME e TIMES sono due cose diverse) eg TIMES-LOCNTMS --gt n di secondi trascorsi dallultimo fixPer controllare il successo di un fix vedi piugrave sotto (in pratica salva lorario attuale tenta il fix econfronta lorario salvato con quello dellultimo fix riuscito)

Variabili utili per il GPS

middot LOC (dinamica) latitudine e longitudine dellultimo GPS fix (localizzazione)

middot LOCACC (dinamica) accuratezza in metri dellultimo GPS fix

middot LOCALT (dinamica) altezza in metri dellultimo GPS fix riporta 0 se non egrave disponibile

middot LOCSPD (dinamica) velocitagrave (metri al secondo) dellultimo GPS fix riporta 0 se non egravedisponibile

middot LOCTMS (dinamica) orario (espresso in secondi) dellultimo GPS fix Per calcolare quanti secondi sono passati dallultimo fix vedi la spiegazione giagrave fatta per la variabile

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 3: Tasker Android

3 52

Introduzione

(appunti personali in libertagrave su Tasker per Android non sempre aggiornatinelle varie sezioni probabilmente anche con errori)

Tasker egrave un programma che permette di automatizzare le attivitagrave in Android indubbiamente egrave unprogramma complesso e come tale egrave un po difficile da imparare ma daltra parte offre maggiori possibilitagraverispetto ad altri programmi (quale Locale i cui plugin sono comunque compatibili con Tasker)Le possibilitagrave poi sono ancora maggiori nei telefonini in cui sono stati sbloccati i permessi di root(comunque non necessario per la gran parte delle attivitagrave)

Il cuore di Tasker sono un insieme di azioni che formano ununica entitagrave chiamata Task

I task possono essere avviati

middot Manualmenteo creando un widget sulla home del cellulare procedendo in questo modo

sect In schermata home premere a lungo su un posto vuoto e scegliere di aggiungere unwidget tasker (scegliendo quello senza timer)

sect Per completare la definizione egrave necessario specificare licona associata (clickando sulpulsante con licona a forma di tavolozza colorata)

sect Infine si preme il pulsante Make widget per creare il widget (se clickando non succedenulla verificare che nella schermata di Tasker sia attivo il pulsante in basso a destracon la scritta On e barretta verde (per attivarlo basta clickare sul suo omologopulsante Off))

middot Automaticamente definendo degli eventicontesti in cui deve partire il tasko Eventi sono condizioni puntuali che avvengono in un dato istante senza una durata temporale

apprezzabile (eg arrivo di un SMS arriva ad una specifica ora ma non si puograve dire che duri pertot minuti) si ragiona in termini di Nellistante in cui egrave avvenuto xxx

o Contesti hanno sia unora di inizio ma anche una certa durata egrave possibile quindi ragionare intermini di Finchegrave egrave in corso xxx (eg lalimentazione del cellulare con il trasformatoreoppure il periodo in cui egrave pianificata unattivitagrave sul calendario)

Linsieme di contestieventi + task associati sono contenuti in un profilo

I profili a loro volta possono essere raggruppati in gruppi che appaiono in tab diversi sulla schermataprincipale di Tasker (visibili nella seconda figura a destra sottostante indicati dalle frecce gialleSe non sono visibili occorre premere sulla freccia verso il basso MOLTO sfumata presente sul marginesuperiore della finestra principale (indicata con A nella immagine sottostante) Clickando sopra lintestazione di un tab egrave possibile crearne di nuovi spostarli)

Schermata di editingEcco una schermata di tasker 12 con programmi giagrave impostati

4 52

In alto vediamo una toolbar che permette di accedere ai tab dei diversi elementi i profili i task le scene(che sono intefacce grafiche) e le variabili

In mezzo in questo caso egrave aperto il tab dei profili vediamo lelenco dei profili (per editarne uno bastaclickarci sopra) e sulla estrema destra lindicatore se sia attivo o meno (toggle modificabile premendocisopra)

In basso nella toolbar da sinistra a destra vi sono i pulsanti per

middot Chiudere tasker salvando tutte le modifiche effettuate

middot Chiudere tasker senza salvare le modifiche

middot Aggiungere un elemento (in questo caso essendo il tab dei profili aggiungere un profilo nuovo)

5 52

middot Abilitaredisabilitare Tasker SE NON CE LINDICATORE VERDE NON FUNZIONERA

NESSUN PROFILO (NE IN AUTOMATICO NE IN MANUALE) NE WIDGET

Clickando su un profilo (o creandone uno nuovo assegnandoli un nome) avremo di fronte una schermata chepresenta grosso modo 2 colonne verticali

middot Quella sinistra contiene i contesti cioegrave le condizioni che fanno scattare lesecuzione di (task) specific (In questo caso leventocontesto egrave rappresentato dalla esecuzione di alcuni progammi [GMaps MyTracks e Places] da parte dallutente)

middot Quella destra indica i task specifici da eseguire allinizio (freccia verde ) ed al termine (freccia

rossa ) dellesecuzione

Nello specifico per tutti e 3 viene fatta la stessa cosa cioegrave attivare il GPS allinizio (con il task GPS Auto-Launch) e disattivarlo alla fine (task GPS Off)Nota che nellimmagine sottostante manca un pezzo della definizione del terzo contesto perchegrave laschermata egrave troppo piccola inoltre la toolbar in basso egrave diversa in quanto limmagine egrave ricavata da unaprecedente versione di Tasker

6 52

Esempio Dalla schermata di cui sopra premiamo il tasto che ci permetteragrave di scegliere leventocondizione

(context) che faragrave scattare il nostro task a questo punto ci verragrave chiesto il tipo di condizione che ciinteressa considerare

7 52

cioegrave se vogliamo far scattare il tutto

middot alla partenza di un programma (Application) egrave possibile scegliere uno specifico programma sceglierlitutti magari specificando eccezioni (parmetro opzionale not)

middot ad una certa ora o giorno (Time Day)

middot luogo (Location) identificato per mezzo del GPSWificella telefonica

middot condizioni durature (State) per cui possibile specificare cosa fare allinizio ed anche al termine dellacondizione eg attivazione del blutetooth inserimento dellauricolare

middot eventi istantanei di breve durata (Event) cosigrave brevi che non esiste una gestione di inizio e fine attivitagravema solo unazione da applicare in corrispondenza dellevento

Possibilitagrave di

middot creazione profili

middot notifiche in tray

middot widget clickabili (potendo scegliere licona tra le 200 x 22 set di icone disponibili)

middot compiti timer dipendenti

middot clickabel shortcuts sono piugrave limitati di un widget ma possono essere usati in altri contesti (eg neifolder)

RICAPITOLANDO

I progammi di Tasker sono definiti da

middot Contesti (anche multiplicontemporaneamente) che rappresentano gli eventicondizioni che attivano undeterminato task i contesti sono definiti da

o Stati Airplane Mode Bluetooth Connected Calendar Entry Docked (AnyDeskCar)Headset Plugged (AnyMicNo Mic) Incoming Call Keyboard Out Light Level MediaButton Missed Call Mobile Network (Any2G3G) Orientation (Face Up etc) Power AnyACUSB Proximity Sensor Signal Strength Unread Text Variable Value Wifi Network

8 52

Wifi Nearo Eventi sono una 50ina suddivisi in categorie alcuni dispongono di parametri aggiuntivi (eg

numerici o se devono poi trasmettere il segnale ad altri programmi)sect DateTime Alarm Clock Alarm Done Date Set TimeDate Set Timezone Setsect Display OffOnUnlockedsect File File ClosedDeletedModifiedMovedOpenedAttributes Changedsect Hardware Camera Button Search Button Long-Press Card MountedRemoved

Unmountedsect Misc Gesture possono essere registrate non serve un pulsante di inizio per la

attivazione delle gesture basta il contestosect Phone Missed Call Phone IdleOffhookRinging Received Text SMS Send Success

Failuresect Power Battery ChangedFullLowOverheatingsect System Device Boot Device Shutdown Device Storage Low Locale Changed New

RemovedUpdated Package Wallpaper Changedsect UI Button Gadget Clicked New Window Notification Notification Clicked Zoom

Clicksect Variables Variable ClearedSetsect 3rd Party Email Received (K9) Gentle Alarm Kaloer Clock OpenWatch Reddit

Notify Screebl Widget Locker (LockedUnlockedHidden)

middot Task sono insiemi di azioni (in realtagrave comprendono actions [icona fulmine] e settings [icona ruotadentata]) che possono essere da eseguire in successione oppure scegliendone una un menu da cuiscegliere una singola attivitagrave Se si intende ripetere le stesse azioni in condizioni diverse (ad esempioattivare il GPS amp alzare luminositagrave display quando parte GMaps oppure la macchina fotografica per iltagging) conviene attribuire un nome al task (che comprende le azioni che ci interessano) ed usarlo poiquante volte vogliamo nei diversi contesti (per definire task con nome basta premere il pulsante new)Le azioni disponibili sono 190 divise in 14 categorie

o ogni azione dispone di un campo if per parametri condizionali necessari per eseguire lazione o in alcune (eg Applicazioni) esiste un parametro not che permette di specificare condizioni

negativeeccezioni

NOTA IMPORTANTE le azioni che rientrano nei cosiddetti settings (licona egrave una ruota dentata) sevengono modificate nellesecuzione di un profilo al termine di esso vengono rimesse come erano prima(esempio screen brightness ) in automatico da Tasker

Task disponibili

middot Alert Flash Notify LEDSoundVibrate Cancel Notification Popup TimedWithTaskIconsWithTaskNames Torch Vibrate Vibrate Pattern

middot App Calendar Insert Go Home Kill App Load App Open Map (StreetViewNavigate)

middot Audio AlarmCallDTMFMediaNotificationRingerSystem Volume Haptic Feedback ToggleMicrophone Mute Notification Pulse NotificationRinger Vibrate Silent Mode Speakerphone SoundEffects toggle

middot Dialog 28 System Settings dialogs

middot Display Auto-Brightness Close System Dialogs Keyguard Keyguard Pattern Display BrightnessDisplay Off Timeout Display Rotation Set Wallpaper Stay On Status Bar (expandcollapse)

middot Encrypt (not in market version) FileDirectory EncryptDecryptEnterClear Passphrase

middot File Browse Files Directory CreateDeleteMove File CopyDeleteMoveOpen Write To File ReadLine Read Paragraph ZipUnzip File

middot Input Button Dpad Type (root only) Input Method Select Soft Keyboard (show)

middot Media Media Button Events (grab) Media Player Control Music FileDir PlayForwardBackStopPhotoSeriesTimeSeries Record Audio Record Audio Stop Ringtone Scan Card

middot Misc (Broadcast) Action Intent Component Intent Get Location GPS Set (lt23 or Cyanogensubmod) Run (ASE) Script Say Say To File Shut Up Search For Set Clipboard Reboot (rootonly) Set CPU (root only) Set Timezone

middot Network Airplane Mode Autosync Bluetooth Bluetooth ID Compose Email Browse URL HTTP

9 52

GET HTTP POST Mobile Data (onoff) Mobile Data 2G3G (Cyanogen only) USB Tether WiFi(settoggle) Wifi DisconnectReassociateReconnect Wifi Sleep Wifi Tether Wimax (settoggle)

middot Phone Call Call Log Call BlockDivertRevert Compose MMSSMS (Templated) Contacts EndCall Radio Send SMS Send Data SMS Silence Ringer Take Call

middot Tasker Change Icon Set If End If Goto Action Perform Task Profile Toggle Query Action SetWidget Icon Set Widget Label Stop Wait Wait Until

middot Variables SetClearIncDecQueryRandomizeSplitJoinList

middot Zoom Element Position Size State Visibility Text Size Text Image Text Colour Image Alpha

middot 3rd Party Android Notifier Astrid BeyondPod Due Today JuiceDefender DataToggle GentleAlarm NewsRob OfficeTalk SleepBot SMS Backup+ TeslaLED WidgetLocker

Variabili built-in utilizzabiliLe seguenti sono variabili predefinite utilizzabili nei nostri taskAirplane Mode Status Battery Level Bluetooth Status Brightness Called NameNumber CPUFrequencyGovernor DurationTimeDate (Out) Clipboard Contents Date Display Timeout Day of MonthWeek Free Memory GPS Status HTTP ResponseData Keyguard Status Email FromCcSubjectDateTime Light Level LocationAccuracyAltitudeProviderSpeedFix Time Music Track Profiles ActiveProfiles Enabled Screen State Text Sender AddressNameBodyDateSubjectTime Cell IDSignalStrengthServiceState Silent Mode Task Time in QueueLast Caller NameNumberDateTime (In) LastApplication Last Photo Muted Notification Title Phone Number Roaming Speakerphone TasksRunning Telephone Network Operator Time Time Seconds Uptime Seconds Speech VolumeLevel AlarmCallDTMFMediaNotificationRingerSystem WiFi Status Wimax Status Window Label

Indirizzi utili

middot Wiki con vari profili di esempio httptaskerwikidotcom

middot Esempio in inglese di semplice applicazione passo-passo httplifehackercom5599116how-to-turn-your-android-phone-into-a-fully+automated-superphone

middot Thread lungo su forum httpwwwdroidforumsnetforumdroid-applications66195-what-have-you-done-taskerhtml

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

10 52

Editing

Il programma viene editato tramite un interfaccia visuale non essendo disponibile alcun editor esterno (daPC) nonostante sia possibile esportare i task in formato XML (peraltro piuttosto complicato da capire conun apparente caos nellordine delle singole istruzioni)

Innanzitutto dalle impostazioni (tasto hardware Menu -gt preferences -gt tab UI) egrave possibile

middot Selezionare una modalitagrave di interfaccia semplificata (beginner mode) o completa francamente consiglioquestultima tanto il programma rimane complesso da utilizzare e quindi tanto vale avere in vista tuttele opzioni disponibili

middot Specificare che tipo di azione debba avvenire quando in fase di editing si clicka (brevemente o a lungo)su un singolo comando di un task egrave possibile scegliere tra

o nienteo cancellazione (delete) del comandoo editing dello stessoo options (opzioni contestuali)

Da parte mia consiglio click breve -gt editing click lungo -gt options

middot Se impostato come sopra clickando a lungo su un comando di un task appariragrave un menu contestualeche permetteragrave operazioni di cutcopypaste del comando (per spostarlocopiarlo) oppure Insert action

per aggiungere un nuovo comando al di sopra di quello clickato (altrimenti clickando sul pulsante

il nuovocomando viene sempre inserito in fondo)

EDITARE UN TASKLaccesso allediting di un tasko lo si fa

middot Clickando su un elemento della lista di task oppure sul pulsante per creare uno nuovoPer visualizzare lelenco dei task occorre attivare il tab tasks premendo sulla scritta Tasks presente inalto (alla destra di quella Profiles) [NOTA nella figura sottostante viene indicato il pulsante da premere per attivare il tab task quellomostrato egrave perograve lelenco profili non dei tasks]

middot Clickando sul task associato ad un profilo Nellelenco dei profili (mostrato premendo sulla scrittaProfiles in alto a sinistra) vi egrave lelenco dei profili definiti clickando su uno di essi sulla destra

11 52

appariranno i task ad esso associati (egrave premendo su uno di questi che si passa direttamente allediting

di quel task)

Ecco una parte della schermata di editing

middot Il pulsante serve ad aggiungere un nuovo comando in fondo al programma

middot Il pulsante permette di specificare alcune proprietagrave del task

o come comportarsi nel caso un task venga eseguito mentre egrave giagrave in esecuzione uno identico (sipuograve scegliere di farli funzionare entrambi oppure di far sopravvivere quello giagrave in esecuzioneoppure la nuova istanza)

o se mantenere il programma attivo anche a schermo spento utile per evitare che una lungaelaborazione si interrompa a causa della modalitagrave automatica a basso consumo di Android(daltra parte espone a rischi di consumo di batteria elevato ad esempio se il programma perun bug continua a girare indefinitivamente)

middot il pulsante permette di scegliere unicona da associare al task tale icona appare nellelenco deitask ed egrave obbligatoria se si vuole creare un widget dal task

A seconda di come avete specificato su preferenze (vedi sopra) clickando su un comando egrave possibile

12 52

modificarne i parametri in una schermata simile a questa [ad esser precisi questa egrave ledit di un evento malo schema egrave identico]

Pulsanti presenti

middot Accetta le modifiche al comando

middot Lascia perdere le modifiche al comando

middot Mostra un breve testo di aiuto sul comando (molto utile La prima volta chiede se si vuole

scaricare una volta per tutte la guida di tutti i comandi sulla scheda SDcosa che raccomando)

Sempre da questa schermata egrave possibile sostituire un comando con un altro premendo sulla riga diintestazione del comando (che nella figura ho indicato con una piccola freccia gialla)

Drag amp drop sui comandiAlcune operazioni di editing sono possibili clickando sulla estrema destra della linea di un comando(dove in genere vi egrave una piccola icona [vedi freccia gialla nella figura sottostante])

A questo punto egrave possibile trascinarlo

middot sugiugrave per spostarlo in altri punti del programma

middot oppure portandolo completamente in basso (dove nel frattempo egrave apparsa licona di un cestino) eliminarlo

13 52

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

14 52

Linguaggio

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Subroutine (Perform task)Questo comando permette di richiamare un task dallinterno di un altro task in pratica permette di chiamareuna subroutine

Il problema principale nellutilizzo egrave la gestione del rapporto di esecuzione tra task chiamante ed il nuovotask invocato infatti si puograve volere aspettare che il nuovo task abbia terminato la propria esecuzione oppureeseguire i due task contemporaneamente (ad esempio se il nuovo task non crea nulla di necessario al taskchiamante)

Questi rapporti sono regolati dalla proprietagrave Stop e dalla prioritagrave (Priority)

Possibilitagrave

middot task chiamante ha prioritagrave piugrave bassa --gt sorta di richiamo subroutine

middot I nomi dei task iniziano con la lettera maiuscola ricordatene se pensi di eseguirne unomanualmente con il comando Esegui task

middot Quando si fa partire un task con il pulsante Test gli viene assegnata unaltissima prioritagrave percui rischia di incasinare i funzionamenti delle proprietagrave in eventuali task secondari al limite conviene farpartire il task che si vuole httpgroupsgooglecomgrouptaskerbrowse_threadthreadc69984d07da62852f229345b40070597lnk=gstampq=priorityf229345b40070597

middot Quando si lancia un task da un altro task (con lazione Task launch) il parametro STOP indica seoccorra aspettare che il task richiamato debba finire prima di poter continuare la cosa non egrave da pocosoprattutto se il resto dello script lavora sui dati creati dal task richiamato inizialmente In realtagrave contanoanche le prioritagrave nel comportamento vedi sezione apposta

PROBLEMIIn realtagrave ci sono problemi nella gestione attuale (per cui lautore sta lavorando sulla prossima versione) percui al momento non riesco a fare in modo che sia atteso il termine del nuovo task prima di proseguiredandogli prioritagrave piugrave alta non cambia nulla mettendo la proprietagrave Stop lo scripting si ferma ligrave per sempre

Al momento quindi nelle routine piugrave adoperate come subroutine come ultima istruzione setto una variabileomonima alla routine+END (xxxEND)=on per essere sicuri che la routine abbia finito devo prima dichiamare il task settare la variabile xxxEND ad un valore diverso da on chiamare il task e nella istruzionesuccessiva mettere un While Until xxxEND=onun po sporco ma

Anche con tale variabile sentinella ottengo che dica solo la vrase Save settings in esecuzione ma nonarriva alla fine

Temo sia un bug

(Task A)Perform Task BSay A ended

(Task B)Say B startedSET few variablesSay B ended

15 52

Stop Priority A Priority B Resulting say No 5 0 A ended B Started B ended No 5 5 A ended B Started B ended No 5 6 A ended B Started B ended No 5 10 B started A ended B endedYes 5 10 B started B ended (no A ended script stop [disappear Kill App]Yes 5 5 B started B ended (no A ended script stop [disappear Kill App]Yes 5 0 B started B ended (no A ended script stop [disappear Kill App]

Maggiori dettagli e consigli

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread4bfc0c42513b899f38e9d290cc696468

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread1d072ff37368d8aa3eac641b90f07d03

Proposta per riuscire a fare in modo che un task aspetti il completamento dellaltroI just used the tasks that you had typed with only one change When you use the Perform Task in Task 1 I had Stop OFF Your tasks work fine this way (unless you are trying to do other things you have not mentioned) If this is the case you should probably make the Priority higher say 10 then it will do everything in the second task before continuing with the first task If you are still having a problem you could use a variable to tell Task 1 when it should continue Task T1 Varible Set WAITING to 1 Popup Title T1 Text Text 1 Perform Task Name T2 Stop OFF Wait Until WAITING Set Popup Title T3 Text Text 3 Task T2 Popup Title T2 Text Text 2 Varible Clear WAITING

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Prioritagrave

La prioritagrave di un task dipende da molti fattori

middot Un task avviato con il pulsante Test delleditor ha una super-prioritagrave

middot I task shortcutwidget hanno la prioritagrave impostata nel menu di Tasker Prefs Action setting (globalsetting)

middot Nel caso di Perform task dipende dalla proprietagrave di questa action

middot Vi egrave anche un qualcosa che riguarda i profili

middot Se devi mettere una prioritagrave alta al max adopera 9 ( e non 10 sembra fare casini)

In realtagrave la cosa egrave piugrave complicata vedi httpgroupsgooglecomgrouptaskerbrowse_threadthreada7c32914ae697898253da51e02b56ac3lnk=gstampq=priority253da51e02b56ac3

Created with the Personal Edition of HelpNDoc Free help authoring environment

LocalizzazioneE un sistema un po complesso da far funzionare correttamente

Tasker egrave in grado di sfruttare diversi sistemi di localizzazione geografica

middot Celle telefoniche molto impreciso (anche di km) resiste abbastanza anche al chiuso non comportaconsumo in piugrave rispetto al normale utilizzo telefonico

16 52

middot Rete Internet [net] forse sfrutta tipo una sorta di IP o simili

middot Rete WiFi (amp Internet) si basa su mappe di distribuzione dei punti di accesso WiFi (mappeconsultabile tramite Google) sapendo che una data rete WiFi si trova in un specifico contestogeografico risale alla localizzazione attuale Poichegrave le mappe sono online egrave necessario laccesso adInternet (motivo per cui la localizzazione WiFi richiede anche laccesso alla rete Internet [anche sechiaramente il WiFI in segrave ne egrave indipendente come rete])

middot GPS molto preciso (anche nellordine delle decine di metri) difficilmente funziona al chiuso consumaparecchia batteria

Il permesso di adoperare la localizzazione legata alle reti (telefoniche o WiFi) oppure al GPS egravecontrollata da specifiche impostazioni in Android da notare che sono una cosa diversa dalla sempliceattivazione della rete WiFi scambio dati (ad esempio per la localizzazione con WiFi occorre che siaattivo il modulo WiFi del cellulare ma ANCHE abilitatapermessa la localizzazione tramite reti) Al momento non credo sia possibile cambiare il permesso di localizzazione tramite Tasker suppongo siaun fatto di sicurezzaprivacy (per evitare che un programma ci possa tracciare di nascosto) daltra partetenerlo sempre acceso non credo comporti nessun consumo in piugrave in quanto costituisce una sempliceautorizzazione allutilizzo dei dati per la localizzazione ma in segrave non attiva nessuna rete o dispositivo (cosache eventualmente dovragrave essere fatta a parte)

Chiaramente egrave importante la frequenza con cui vengono controllate le fonti della attuale localizzazioneIn genere esistono

middot una frequenza di controllo con dispositivo acceso (display on) specifica per ogni modalitagrave dilocalizzazione

middot una frequenza di controllo a dispositivo spento (display off) comune a tutte le fonti per minimizzare iltempo di attivazione del dispositivo per effetuare i controlli (nel menu Display Off Settings egrave possibileimpostare sia la frequenza che la massima durata dei controlli)

Il servizio di localizzazione presuppone di trovarsi sempre nel punto ricavato dallultima localizzazione

Questi sistemi vengono sfruttati per 2 scopi

middot Conoscere esattamente il punto dove ci si trova (possibilmente al metro) ad esempio per dire dove citroviamo per farci raggiungere (positionlocation)

Per questo scopo si possono adoperare

o Rete internet [net] consuma poco (poco in piugrave rispetto al normale uso telefonico purchegrave siadisponibile un network) ma la precisione varia enormemente e richiede sia il collegamento allarete (network internet suppongo) che quello telefonico (phone service)Per impostarla occorre creare un location context e disattivare il GPS egrave importante impostareun raggio ampio intorno alla posizione di interesse (la frequenza di controllo egrave regolabile sia adisplay spento che acceso)

o Rete WiFi E Internet [net] maggiore consumo precisione molto variabile (buona in areepopolose) necessita sia di rete Internet (net) che WIFiPer impostarlo occorre creare un location context disattivare il GPS ed attivare il WiFi perottenere una maggiore precisionePer registrarlo occorre recarsi sul posto almeno 1 volta

o GPS alto consumo alta precisione allaperto molti problemi al chiusoPer impostarlo occorre creare un location context e deselezionare NetLa frequenza di controllo a dispositivo acceso egrave impostabile come pure quella del dispositivospento (in comune con altre fonti di localizzazione) Si puograve impostare anche il GPS Timeout che specifica quanto tempo debba continuare iltentativo di ottenere una localizzazione GPS (chiaramente questo influenza sia la capacitagrave distabilire una localizzazione ma anche il consumo della batteria)Poichegrave il controllo della posizione GPS non egrave continuo (ma ad intervalli) e dato che al chiusonon riesce a stabilire la posizione se dalla posizione A (localizzata) si passa nella posizione B

17 52

al chiuso (no segnale no localizzazione) il dispositivo faragrave riferimento allultima posizionestabilita (fix) per cui crederagrave di essere ancora in A (cambieragrave idea quando usciragrave allaperto edavverragrave un fix) NOTA sono 2 cose distintesect la predisposizione dellhardware (GPS on con Tasker oppure premere il pulsante

nella tray)sect e lutilizzo effettivo per localizzazione (che avviene con GetLocation in Tasker

oppure facendo partire un programma che usa il GPS) solo in questo secondopassaggio appariragrave licona lampeggiante (e poi stabile) nella tray chiaramente perograve nonpotragrave apparire mai se lhardware egrave scollegato

middot Sapere in quale AREA (piugrave vasta) ci si trova eg per fare qualcosa se ci troviamo in ambito casalingo(status)

Per questo si possono adoperare

o Stato di vicinanza a celle telefoniche consuma pochissimo (pari al normale funzionamentotelefonico) molto impreciso (ma resiste abbastanza bene al chiuso) Laggiornamento avviene secondo un frequenza regolabile quando il display egrave spento mentre adisplay acceso laggiornamento avviene appena la cella egrave visibile (as soon as the tower isvisible)Per adoperarlo occorre impostare uno state context con Cell near -gt Update mentre ci simuove nellarea di interesse (dunque egrave necessario recarcisivi almeno una volta)

o Stato di vicinanza a reti wifi consuma abbastanza (ma meno del GPS) buona la precisionenecessita di un accesso WIFi nei paraggi funziona anche al chiusoPer adoperarlo occorre impostare uno state context con WiFi near ed imposta il SSID(identificatore di rete) del miglior segnale WiFi che vuoi utilizzareidentificareQuesta funzione fa regolari controlli delle reti WiFi e scatta lattivazione se riconosce un puntodi accesso tra quelli impostati da notare che non serve collegarsi alla rete WiFi basta che siaricevibile (motivo per cui si puograve anche sfruttare la rete magari piugrave forte del vicino) Se si vuol evitare di mantenere acceso il WiFi in continuazione basta attivare la casella dicontrollo WiFi Toggle in questo modo verragrave attivato da Tasker solo quando necessiteragrave dieffettuare i controlli delle reti presenti

Rapporto tra consumo e precisione

MetodoConsumoenergetico

PrecisioneNecessita diinternet [net]

Necessita delWiFi

Stato vicinanza a celletelefoniche [State]

Posizione rete internet[Location][Net]

Sigrave

Posizione rete internet amp Wifi Sigrave Sigrave

Stato vicinanza a WiFi Sigrave

Posizione GPS Sigrave

Ad un numero maggiore di stelle corrisponde maggior consumo o precisione (a seconda della colonna)

Tasker adotta delle strategie per limitare il consumo energetico ad esempio in caso di piugrave contesti nelmedesimo profilo dapprima aspetteragrave che si attivino quelli a minor dispendio energetico e solo inseguito controlleragrave gli altri

18 52

Ad esempio per capire se si egrave a casa si puograve creare un profilo con doppio contesto che adopera sia unaposizione Internet [Location Net] che uno stato WiFi near Tasker effettueragrave i controlli WIFi soloquando ci si troveragrave nel quartiere

Variabili predefinite

Sono disponibili alcune variabili predefinite per controllare la localizzazione

Variabili utili per le celle telefoniche

middot CELLID (dinamica monitorata) riporta lattuale cella telefonica se nota Da notare che il Cell near state (cioegrave lo stato legato alla vicinanza ad una specifica cella) puograverimanere attivo (cioegrave indicare che si egrave in un dato contesto di celle) anche se in realtagrave la variabile CELLID riporta che effettuvamente la cella attuale egrave sconosciutanon valida Questo per evitare cheil contesto di stato Cell near state possa cambiare semplicemente perchegrave si egrave interrotto il serviziotelefonico In altre parole

o CELLID riporta sempre la situazione in tempo reale (nota che la stringa riportata iniziacon GSM (eg GSM2002651372) se non cegrave collegamento telefonico riporta comese la variabile non esistesse (cioegrave il nome stesso CELLID) NOTA

o lo stato Cell near state varia solo in risposta a ID di cella validi (non cambia se la cellaattuale diviene non valida [non raggiungibilitagrave telefonica])

Variabili utili per la localizzazione net (Internet)

middot LOCN (dinamica) latitudine e longitudine dellultimo network location fix (localizzazione)

middot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNTMS (dinamica) orario (espresso in secondi) in cui egrave avvenuto lultimo network location

fix Per ottenere quanto tempo egrave trascorso dallultimo fix (cioegrave unindicazione relativa) basta sottrarloallorario attuale che egrave contenuto nella variabile TIMES (ora attuale espressa in secondi trascorsidal Gennaio 1970 notare la S finale TIME e TIMES sono due cose diverse) eg TIMES-LOCNTMS --gt n di secondi trascorsi dallultimo fixPer controllare il successo di un fix vedi piugrave sotto (in pratica salva lorario attuale tenta il fix econfronta lorario salvato con quello dellultimo fix riuscito)

Variabili utili per il GPS

middot LOC (dinamica) latitudine e longitudine dellultimo GPS fix (localizzazione)

middot LOCACC (dinamica) accuratezza in metri dellultimo GPS fix

middot LOCALT (dinamica) altezza in metri dellultimo GPS fix riporta 0 se non egrave disponibile

middot LOCSPD (dinamica) velocitagrave (metri al secondo) dellultimo GPS fix riporta 0 se non egravedisponibile

middot LOCTMS (dinamica) orario (espresso in secondi) dellultimo GPS fix Per calcolare quanti secondi sono passati dallultimo fix vedi la spiegazione giagrave fatta per la variabile

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 4: Tasker Android

4 52

In alto vediamo una toolbar che permette di accedere ai tab dei diversi elementi i profili i task le scene(che sono intefacce grafiche) e le variabili

In mezzo in questo caso egrave aperto il tab dei profili vediamo lelenco dei profili (per editarne uno bastaclickarci sopra) e sulla estrema destra lindicatore se sia attivo o meno (toggle modificabile premendocisopra)

In basso nella toolbar da sinistra a destra vi sono i pulsanti per

middot Chiudere tasker salvando tutte le modifiche effettuate

middot Chiudere tasker senza salvare le modifiche

middot Aggiungere un elemento (in questo caso essendo il tab dei profili aggiungere un profilo nuovo)

5 52

middot Abilitaredisabilitare Tasker SE NON CE LINDICATORE VERDE NON FUNZIONERA

NESSUN PROFILO (NE IN AUTOMATICO NE IN MANUALE) NE WIDGET

Clickando su un profilo (o creandone uno nuovo assegnandoli un nome) avremo di fronte una schermata chepresenta grosso modo 2 colonne verticali

middot Quella sinistra contiene i contesti cioegrave le condizioni che fanno scattare lesecuzione di (task) specific (In questo caso leventocontesto egrave rappresentato dalla esecuzione di alcuni progammi [GMaps MyTracks e Places] da parte dallutente)

middot Quella destra indica i task specifici da eseguire allinizio (freccia verde ) ed al termine (freccia

rossa ) dellesecuzione

Nello specifico per tutti e 3 viene fatta la stessa cosa cioegrave attivare il GPS allinizio (con il task GPS Auto-Launch) e disattivarlo alla fine (task GPS Off)Nota che nellimmagine sottostante manca un pezzo della definizione del terzo contesto perchegrave laschermata egrave troppo piccola inoltre la toolbar in basso egrave diversa in quanto limmagine egrave ricavata da unaprecedente versione di Tasker

6 52

Esempio Dalla schermata di cui sopra premiamo il tasto che ci permetteragrave di scegliere leventocondizione

(context) che faragrave scattare il nostro task a questo punto ci verragrave chiesto il tipo di condizione che ciinteressa considerare

7 52

cioegrave se vogliamo far scattare il tutto

middot alla partenza di un programma (Application) egrave possibile scegliere uno specifico programma sceglierlitutti magari specificando eccezioni (parmetro opzionale not)

middot ad una certa ora o giorno (Time Day)

middot luogo (Location) identificato per mezzo del GPSWificella telefonica

middot condizioni durature (State) per cui possibile specificare cosa fare allinizio ed anche al termine dellacondizione eg attivazione del blutetooth inserimento dellauricolare

middot eventi istantanei di breve durata (Event) cosigrave brevi che non esiste una gestione di inizio e fine attivitagravema solo unazione da applicare in corrispondenza dellevento

Possibilitagrave di

middot creazione profili

middot notifiche in tray

middot widget clickabili (potendo scegliere licona tra le 200 x 22 set di icone disponibili)

middot compiti timer dipendenti

middot clickabel shortcuts sono piugrave limitati di un widget ma possono essere usati in altri contesti (eg neifolder)

RICAPITOLANDO

I progammi di Tasker sono definiti da

middot Contesti (anche multiplicontemporaneamente) che rappresentano gli eventicondizioni che attivano undeterminato task i contesti sono definiti da

o Stati Airplane Mode Bluetooth Connected Calendar Entry Docked (AnyDeskCar)Headset Plugged (AnyMicNo Mic) Incoming Call Keyboard Out Light Level MediaButton Missed Call Mobile Network (Any2G3G) Orientation (Face Up etc) Power AnyACUSB Proximity Sensor Signal Strength Unread Text Variable Value Wifi Network

8 52

Wifi Nearo Eventi sono una 50ina suddivisi in categorie alcuni dispongono di parametri aggiuntivi (eg

numerici o se devono poi trasmettere il segnale ad altri programmi)sect DateTime Alarm Clock Alarm Done Date Set TimeDate Set Timezone Setsect Display OffOnUnlockedsect File File ClosedDeletedModifiedMovedOpenedAttributes Changedsect Hardware Camera Button Search Button Long-Press Card MountedRemoved

Unmountedsect Misc Gesture possono essere registrate non serve un pulsante di inizio per la

attivazione delle gesture basta il contestosect Phone Missed Call Phone IdleOffhookRinging Received Text SMS Send Success

Failuresect Power Battery ChangedFullLowOverheatingsect System Device Boot Device Shutdown Device Storage Low Locale Changed New

RemovedUpdated Package Wallpaper Changedsect UI Button Gadget Clicked New Window Notification Notification Clicked Zoom

Clicksect Variables Variable ClearedSetsect 3rd Party Email Received (K9) Gentle Alarm Kaloer Clock OpenWatch Reddit

Notify Screebl Widget Locker (LockedUnlockedHidden)

middot Task sono insiemi di azioni (in realtagrave comprendono actions [icona fulmine] e settings [icona ruotadentata]) che possono essere da eseguire in successione oppure scegliendone una un menu da cuiscegliere una singola attivitagrave Se si intende ripetere le stesse azioni in condizioni diverse (ad esempioattivare il GPS amp alzare luminositagrave display quando parte GMaps oppure la macchina fotografica per iltagging) conviene attribuire un nome al task (che comprende le azioni che ci interessano) ed usarlo poiquante volte vogliamo nei diversi contesti (per definire task con nome basta premere il pulsante new)Le azioni disponibili sono 190 divise in 14 categorie

o ogni azione dispone di un campo if per parametri condizionali necessari per eseguire lazione o in alcune (eg Applicazioni) esiste un parametro not che permette di specificare condizioni

negativeeccezioni

NOTA IMPORTANTE le azioni che rientrano nei cosiddetti settings (licona egrave una ruota dentata) sevengono modificate nellesecuzione di un profilo al termine di esso vengono rimesse come erano prima(esempio screen brightness ) in automatico da Tasker

Task disponibili

middot Alert Flash Notify LEDSoundVibrate Cancel Notification Popup TimedWithTaskIconsWithTaskNames Torch Vibrate Vibrate Pattern

middot App Calendar Insert Go Home Kill App Load App Open Map (StreetViewNavigate)

middot Audio AlarmCallDTMFMediaNotificationRingerSystem Volume Haptic Feedback ToggleMicrophone Mute Notification Pulse NotificationRinger Vibrate Silent Mode Speakerphone SoundEffects toggle

middot Dialog 28 System Settings dialogs

middot Display Auto-Brightness Close System Dialogs Keyguard Keyguard Pattern Display BrightnessDisplay Off Timeout Display Rotation Set Wallpaper Stay On Status Bar (expandcollapse)

middot Encrypt (not in market version) FileDirectory EncryptDecryptEnterClear Passphrase

middot File Browse Files Directory CreateDeleteMove File CopyDeleteMoveOpen Write To File ReadLine Read Paragraph ZipUnzip File

middot Input Button Dpad Type (root only) Input Method Select Soft Keyboard (show)

middot Media Media Button Events (grab) Media Player Control Music FileDir PlayForwardBackStopPhotoSeriesTimeSeries Record Audio Record Audio Stop Ringtone Scan Card

middot Misc (Broadcast) Action Intent Component Intent Get Location GPS Set (lt23 or Cyanogensubmod) Run (ASE) Script Say Say To File Shut Up Search For Set Clipboard Reboot (rootonly) Set CPU (root only) Set Timezone

middot Network Airplane Mode Autosync Bluetooth Bluetooth ID Compose Email Browse URL HTTP

9 52

GET HTTP POST Mobile Data (onoff) Mobile Data 2G3G (Cyanogen only) USB Tether WiFi(settoggle) Wifi DisconnectReassociateReconnect Wifi Sleep Wifi Tether Wimax (settoggle)

middot Phone Call Call Log Call BlockDivertRevert Compose MMSSMS (Templated) Contacts EndCall Radio Send SMS Send Data SMS Silence Ringer Take Call

middot Tasker Change Icon Set If End If Goto Action Perform Task Profile Toggle Query Action SetWidget Icon Set Widget Label Stop Wait Wait Until

middot Variables SetClearIncDecQueryRandomizeSplitJoinList

middot Zoom Element Position Size State Visibility Text Size Text Image Text Colour Image Alpha

middot 3rd Party Android Notifier Astrid BeyondPod Due Today JuiceDefender DataToggle GentleAlarm NewsRob OfficeTalk SleepBot SMS Backup+ TeslaLED WidgetLocker

Variabili built-in utilizzabiliLe seguenti sono variabili predefinite utilizzabili nei nostri taskAirplane Mode Status Battery Level Bluetooth Status Brightness Called NameNumber CPUFrequencyGovernor DurationTimeDate (Out) Clipboard Contents Date Display Timeout Day of MonthWeek Free Memory GPS Status HTTP ResponseData Keyguard Status Email FromCcSubjectDateTime Light Level LocationAccuracyAltitudeProviderSpeedFix Time Music Track Profiles ActiveProfiles Enabled Screen State Text Sender AddressNameBodyDateSubjectTime Cell IDSignalStrengthServiceState Silent Mode Task Time in QueueLast Caller NameNumberDateTime (In) LastApplication Last Photo Muted Notification Title Phone Number Roaming Speakerphone TasksRunning Telephone Network Operator Time Time Seconds Uptime Seconds Speech VolumeLevel AlarmCallDTMFMediaNotificationRingerSystem WiFi Status Wimax Status Window Label

Indirizzi utili

middot Wiki con vari profili di esempio httptaskerwikidotcom

middot Esempio in inglese di semplice applicazione passo-passo httplifehackercom5599116how-to-turn-your-android-phone-into-a-fully+automated-superphone

middot Thread lungo su forum httpwwwdroidforumsnetforumdroid-applications66195-what-have-you-done-taskerhtml

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

10 52

Editing

Il programma viene editato tramite un interfaccia visuale non essendo disponibile alcun editor esterno (daPC) nonostante sia possibile esportare i task in formato XML (peraltro piuttosto complicato da capire conun apparente caos nellordine delle singole istruzioni)

Innanzitutto dalle impostazioni (tasto hardware Menu -gt preferences -gt tab UI) egrave possibile

middot Selezionare una modalitagrave di interfaccia semplificata (beginner mode) o completa francamente consiglioquestultima tanto il programma rimane complesso da utilizzare e quindi tanto vale avere in vista tuttele opzioni disponibili

middot Specificare che tipo di azione debba avvenire quando in fase di editing si clicka (brevemente o a lungo)su un singolo comando di un task egrave possibile scegliere tra

o nienteo cancellazione (delete) del comandoo editing dello stessoo options (opzioni contestuali)

Da parte mia consiglio click breve -gt editing click lungo -gt options

middot Se impostato come sopra clickando a lungo su un comando di un task appariragrave un menu contestualeche permetteragrave operazioni di cutcopypaste del comando (per spostarlocopiarlo) oppure Insert action

per aggiungere un nuovo comando al di sopra di quello clickato (altrimenti clickando sul pulsante

il nuovocomando viene sempre inserito in fondo)

EDITARE UN TASKLaccesso allediting di un tasko lo si fa

middot Clickando su un elemento della lista di task oppure sul pulsante per creare uno nuovoPer visualizzare lelenco dei task occorre attivare il tab tasks premendo sulla scritta Tasks presente inalto (alla destra di quella Profiles) [NOTA nella figura sottostante viene indicato il pulsante da premere per attivare il tab task quellomostrato egrave perograve lelenco profili non dei tasks]

middot Clickando sul task associato ad un profilo Nellelenco dei profili (mostrato premendo sulla scrittaProfiles in alto a sinistra) vi egrave lelenco dei profili definiti clickando su uno di essi sulla destra

11 52

appariranno i task ad esso associati (egrave premendo su uno di questi che si passa direttamente allediting

di quel task)

Ecco una parte della schermata di editing

middot Il pulsante serve ad aggiungere un nuovo comando in fondo al programma

middot Il pulsante permette di specificare alcune proprietagrave del task

o come comportarsi nel caso un task venga eseguito mentre egrave giagrave in esecuzione uno identico (sipuograve scegliere di farli funzionare entrambi oppure di far sopravvivere quello giagrave in esecuzioneoppure la nuova istanza)

o se mantenere il programma attivo anche a schermo spento utile per evitare che una lungaelaborazione si interrompa a causa della modalitagrave automatica a basso consumo di Android(daltra parte espone a rischi di consumo di batteria elevato ad esempio se il programma perun bug continua a girare indefinitivamente)

middot il pulsante permette di scegliere unicona da associare al task tale icona appare nellelenco deitask ed egrave obbligatoria se si vuole creare un widget dal task

A seconda di come avete specificato su preferenze (vedi sopra) clickando su un comando egrave possibile

12 52

modificarne i parametri in una schermata simile a questa [ad esser precisi questa egrave ledit di un evento malo schema egrave identico]

Pulsanti presenti

middot Accetta le modifiche al comando

middot Lascia perdere le modifiche al comando

middot Mostra un breve testo di aiuto sul comando (molto utile La prima volta chiede se si vuole

scaricare una volta per tutte la guida di tutti i comandi sulla scheda SDcosa che raccomando)

Sempre da questa schermata egrave possibile sostituire un comando con un altro premendo sulla riga diintestazione del comando (che nella figura ho indicato con una piccola freccia gialla)

Drag amp drop sui comandiAlcune operazioni di editing sono possibili clickando sulla estrema destra della linea di un comando(dove in genere vi egrave una piccola icona [vedi freccia gialla nella figura sottostante])

A questo punto egrave possibile trascinarlo

middot sugiugrave per spostarlo in altri punti del programma

middot oppure portandolo completamente in basso (dove nel frattempo egrave apparsa licona di un cestino) eliminarlo

13 52

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

14 52

Linguaggio

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Subroutine (Perform task)Questo comando permette di richiamare un task dallinterno di un altro task in pratica permette di chiamareuna subroutine

Il problema principale nellutilizzo egrave la gestione del rapporto di esecuzione tra task chiamante ed il nuovotask invocato infatti si puograve volere aspettare che il nuovo task abbia terminato la propria esecuzione oppureeseguire i due task contemporaneamente (ad esempio se il nuovo task non crea nulla di necessario al taskchiamante)

Questi rapporti sono regolati dalla proprietagrave Stop e dalla prioritagrave (Priority)

Possibilitagrave

middot task chiamante ha prioritagrave piugrave bassa --gt sorta di richiamo subroutine

middot I nomi dei task iniziano con la lettera maiuscola ricordatene se pensi di eseguirne unomanualmente con il comando Esegui task

middot Quando si fa partire un task con il pulsante Test gli viene assegnata unaltissima prioritagrave percui rischia di incasinare i funzionamenti delle proprietagrave in eventuali task secondari al limite conviene farpartire il task che si vuole httpgroupsgooglecomgrouptaskerbrowse_threadthreadc69984d07da62852f229345b40070597lnk=gstampq=priorityf229345b40070597

middot Quando si lancia un task da un altro task (con lazione Task launch) il parametro STOP indica seoccorra aspettare che il task richiamato debba finire prima di poter continuare la cosa non egrave da pocosoprattutto se il resto dello script lavora sui dati creati dal task richiamato inizialmente In realtagrave contanoanche le prioritagrave nel comportamento vedi sezione apposta

PROBLEMIIn realtagrave ci sono problemi nella gestione attuale (per cui lautore sta lavorando sulla prossima versione) percui al momento non riesco a fare in modo che sia atteso il termine del nuovo task prima di proseguiredandogli prioritagrave piugrave alta non cambia nulla mettendo la proprietagrave Stop lo scripting si ferma ligrave per sempre

Al momento quindi nelle routine piugrave adoperate come subroutine come ultima istruzione setto una variabileomonima alla routine+END (xxxEND)=on per essere sicuri che la routine abbia finito devo prima dichiamare il task settare la variabile xxxEND ad un valore diverso da on chiamare il task e nella istruzionesuccessiva mettere un While Until xxxEND=onun po sporco ma

Anche con tale variabile sentinella ottengo che dica solo la vrase Save settings in esecuzione ma nonarriva alla fine

Temo sia un bug

(Task A)Perform Task BSay A ended

(Task B)Say B startedSET few variablesSay B ended

15 52

Stop Priority A Priority B Resulting say No 5 0 A ended B Started B ended No 5 5 A ended B Started B ended No 5 6 A ended B Started B ended No 5 10 B started A ended B endedYes 5 10 B started B ended (no A ended script stop [disappear Kill App]Yes 5 5 B started B ended (no A ended script stop [disappear Kill App]Yes 5 0 B started B ended (no A ended script stop [disappear Kill App]

Maggiori dettagli e consigli

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread4bfc0c42513b899f38e9d290cc696468

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread1d072ff37368d8aa3eac641b90f07d03

Proposta per riuscire a fare in modo che un task aspetti il completamento dellaltroI just used the tasks that you had typed with only one change When you use the Perform Task in Task 1 I had Stop OFF Your tasks work fine this way (unless you are trying to do other things you have not mentioned) If this is the case you should probably make the Priority higher say 10 then it will do everything in the second task before continuing with the first task If you are still having a problem you could use a variable to tell Task 1 when it should continue Task T1 Varible Set WAITING to 1 Popup Title T1 Text Text 1 Perform Task Name T2 Stop OFF Wait Until WAITING Set Popup Title T3 Text Text 3 Task T2 Popup Title T2 Text Text 2 Varible Clear WAITING

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Prioritagrave

La prioritagrave di un task dipende da molti fattori

middot Un task avviato con il pulsante Test delleditor ha una super-prioritagrave

middot I task shortcutwidget hanno la prioritagrave impostata nel menu di Tasker Prefs Action setting (globalsetting)

middot Nel caso di Perform task dipende dalla proprietagrave di questa action

middot Vi egrave anche un qualcosa che riguarda i profili

middot Se devi mettere una prioritagrave alta al max adopera 9 ( e non 10 sembra fare casini)

In realtagrave la cosa egrave piugrave complicata vedi httpgroupsgooglecomgrouptaskerbrowse_threadthreada7c32914ae697898253da51e02b56ac3lnk=gstampq=priority253da51e02b56ac3

Created with the Personal Edition of HelpNDoc Free help authoring environment

LocalizzazioneE un sistema un po complesso da far funzionare correttamente

Tasker egrave in grado di sfruttare diversi sistemi di localizzazione geografica

middot Celle telefoniche molto impreciso (anche di km) resiste abbastanza anche al chiuso non comportaconsumo in piugrave rispetto al normale utilizzo telefonico

16 52

middot Rete Internet [net] forse sfrutta tipo una sorta di IP o simili

middot Rete WiFi (amp Internet) si basa su mappe di distribuzione dei punti di accesso WiFi (mappeconsultabile tramite Google) sapendo che una data rete WiFi si trova in un specifico contestogeografico risale alla localizzazione attuale Poichegrave le mappe sono online egrave necessario laccesso adInternet (motivo per cui la localizzazione WiFi richiede anche laccesso alla rete Internet [anche sechiaramente il WiFI in segrave ne egrave indipendente come rete])

middot GPS molto preciso (anche nellordine delle decine di metri) difficilmente funziona al chiuso consumaparecchia batteria

Il permesso di adoperare la localizzazione legata alle reti (telefoniche o WiFi) oppure al GPS egravecontrollata da specifiche impostazioni in Android da notare che sono una cosa diversa dalla sempliceattivazione della rete WiFi scambio dati (ad esempio per la localizzazione con WiFi occorre che siaattivo il modulo WiFi del cellulare ma ANCHE abilitatapermessa la localizzazione tramite reti) Al momento non credo sia possibile cambiare il permesso di localizzazione tramite Tasker suppongo siaun fatto di sicurezzaprivacy (per evitare che un programma ci possa tracciare di nascosto) daltra partetenerlo sempre acceso non credo comporti nessun consumo in piugrave in quanto costituisce una sempliceautorizzazione allutilizzo dei dati per la localizzazione ma in segrave non attiva nessuna rete o dispositivo (cosache eventualmente dovragrave essere fatta a parte)

Chiaramente egrave importante la frequenza con cui vengono controllate le fonti della attuale localizzazioneIn genere esistono

middot una frequenza di controllo con dispositivo acceso (display on) specifica per ogni modalitagrave dilocalizzazione

middot una frequenza di controllo a dispositivo spento (display off) comune a tutte le fonti per minimizzare iltempo di attivazione del dispositivo per effetuare i controlli (nel menu Display Off Settings egrave possibileimpostare sia la frequenza che la massima durata dei controlli)

Il servizio di localizzazione presuppone di trovarsi sempre nel punto ricavato dallultima localizzazione

Questi sistemi vengono sfruttati per 2 scopi

middot Conoscere esattamente il punto dove ci si trova (possibilmente al metro) ad esempio per dire dove citroviamo per farci raggiungere (positionlocation)

Per questo scopo si possono adoperare

o Rete internet [net] consuma poco (poco in piugrave rispetto al normale uso telefonico purchegrave siadisponibile un network) ma la precisione varia enormemente e richiede sia il collegamento allarete (network internet suppongo) che quello telefonico (phone service)Per impostarla occorre creare un location context e disattivare il GPS egrave importante impostareun raggio ampio intorno alla posizione di interesse (la frequenza di controllo egrave regolabile sia adisplay spento che acceso)

o Rete WiFi E Internet [net] maggiore consumo precisione molto variabile (buona in areepopolose) necessita sia di rete Internet (net) che WIFiPer impostarlo occorre creare un location context disattivare il GPS ed attivare il WiFi perottenere una maggiore precisionePer registrarlo occorre recarsi sul posto almeno 1 volta

o GPS alto consumo alta precisione allaperto molti problemi al chiusoPer impostarlo occorre creare un location context e deselezionare NetLa frequenza di controllo a dispositivo acceso egrave impostabile come pure quella del dispositivospento (in comune con altre fonti di localizzazione) Si puograve impostare anche il GPS Timeout che specifica quanto tempo debba continuare iltentativo di ottenere una localizzazione GPS (chiaramente questo influenza sia la capacitagrave distabilire una localizzazione ma anche il consumo della batteria)Poichegrave il controllo della posizione GPS non egrave continuo (ma ad intervalli) e dato che al chiusonon riesce a stabilire la posizione se dalla posizione A (localizzata) si passa nella posizione B

17 52

al chiuso (no segnale no localizzazione) il dispositivo faragrave riferimento allultima posizionestabilita (fix) per cui crederagrave di essere ancora in A (cambieragrave idea quando usciragrave allaperto edavverragrave un fix) NOTA sono 2 cose distintesect la predisposizione dellhardware (GPS on con Tasker oppure premere il pulsante

nella tray)sect e lutilizzo effettivo per localizzazione (che avviene con GetLocation in Tasker

oppure facendo partire un programma che usa il GPS) solo in questo secondopassaggio appariragrave licona lampeggiante (e poi stabile) nella tray chiaramente perograve nonpotragrave apparire mai se lhardware egrave scollegato

middot Sapere in quale AREA (piugrave vasta) ci si trova eg per fare qualcosa se ci troviamo in ambito casalingo(status)

Per questo si possono adoperare

o Stato di vicinanza a celle telefoniche consuma pochissimo (pari al normale funzionamentotelefonico) molto impreciso (ma resiste abbastanza bene al chiuso) Laggiornamento avviene secondo un frequenza regolabile quando il display egrave spento mentre adisplay acceso laggiornamento avviene appena la cella egrave visibile (as soon as the tower isvisible)Per adoperarlo occorre impostare uno state context con Cell near -gt Update mentre ci simuove nellarea di interesse (dunque egrave necessario recarcisivi almeno una volta)

o Stato di vicinanza a reti wifi consuma abbastanza (ma meno del GPS) buona la precisionenecessita di un accesso WIFi nei paraggi funziona anche al chiusoPer adoperarlo occorre impostare uno state context con WiFi near ed imposta il SSID(identificatore di rete) del miglior segnale WiFi che vuoi utilizzareidentificareQuesta funzione fa regolari controlli delle reti WiFi e scatta lattivazione se riconosce un puntodi accesso tra quelli impostati da notare che non serve collegarsi alla rete WiFi basta che siaricevibile (motivo per cui si puograve anche sfruttare la rete magari piugrave forte del vicino) Se si vuol evitare di mantenere acceso il WiFi in continuazione basta attivare la casella dicontrollo WiFi Toggle in questo modo verragrave attivato da Tasker solo quando necessiteragrave dieffettuare i controlli delle reti presenti

Rapporto tra consumo e precisione

MetodoConsumoenergetico

PrecisioneNecessita diinternet [net]

Necessita delWiFi

Stato vicinanza a celletelefoniche [State]

Posizione rete internet[Location][Net]

Sigrave

Posizione rete internet amp Wifi Sigrave Sigrave

Stato vicinanza a WiFi Sigrave

Posizione GPS Sigrave

Ad un numero maggiore di stelle corrisponde maggior consumo o precisione (a seconda della colonna)

Tasker adotta delle strategie per limitare il consumo energetico ad esempio in caso di piugrave contesti nelmedesimo profilo dapprima aspetteragrave che si attivino quelli a minor dispendio energetico e solo inseguito controlleragrave gli altri

18 52

Ad esempio per capire se si egrave a casa si puograve creare un profilo con doppio contesto che adopera sia unaposizione Internet [Location Net] che uno stato WiFi near Tasker effettueragrave i controlli WIFi soloquando ci si troveragrave nel quartiere

Variabili predefinite

Sono disponibili alcune variabili predefinite per controllare la localizzazione

Variabili utili per le celle telefoniche

middot CELLID (dinamica monitorata) riporta lattuale cella telefonica se nota Da notare che il Cell near state (cioegrave lo stato legato alla vicinanza ad una specifica cella) puograverimanere attivo (cioegrave indicare che si egrave in un dato contesto di celle) anche se in realtagrave la variabile CELLID riporta che effettuvamente la cella attuale egrave sconosciutanon valida Questo per evitare cheil contesto di stato Cell near state possa cambiare semplicemente perchegrave si egrave interrotto il serviziotelefonico In altre parole

o CELLID riporta sempre la situazione in tempo reale (nota che la stringa riportata iniziacon GSM (eg GSM2002651372) se non cegrave collegamento telefonico riporta comese la variabile non esistesse (cioegrave il nome stesso CELLID) NOTA

o lo stato Cell near state varia solo in risposta a ID di cella validi (non cambia se la cellaattuale diviene non valida [non raggiungibilitagrave telefonica])

Variabili utili per la localizzazione net (Internet)

middot LOCN (dinamica) latitudine e longitudine dellultimo network location fix (localizzazione)

middot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNTMS (dinamica) orario (espresso in secondi) in cui egrave avvenuto lultimo network location

fix Per ottenere quanto tempo egrave trascorso dallultimo fix (cioegrave unindicazione relativa) basta sottrarloallorario attuale che egrave contenuto nella variabile TIMES (ora attuale espressa in secondi trascorsidal Gennaio 1970 notare la S finale TIME e TIMES sono due cose diverse) eg TIMES-LOCNTMS --gt n di secondi trascorsi dallultimo fixPer controllare il successo di un fix vedi piugrave sotto (in pratica salva lorario attuale tenta il fix econfronta lorario salvato con quello dellultimo fix riuscito)

Variabili utili per il GPS

middot LOC (dinamica) latitudine e longitudine dellultimo GPS fix (localizzazione)

middot LOCACC (dinamica) accuratezza in metri dellultimo GPS fix

middot LOCALT (dinamica) altezza in metri dellultimo GPS fix riporta 0 se non egrave disponibile

middot LOCSPD (dinamica) velocitagrave (metri al secondo) dellultimo GPS fix riporta 0 se non egravedisponibile

middot LOCTMS (dinamica) orario (espresso in secondi) dellultimo GPS fix Per calcolare quanti secondi sono passati dallultimo fix vedi la spiegazione giagrave fatta per la variabile

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 5: Tasker Android

5 52

middot Abilitaredisabilitare Tasker SE NON CE LINDICATORE VERDE NON FUNZIONERA

NESSUN PROFILO (NE IN AUTOMATICO NE IN MANUALE) NE WIDGET

Clickando su un profilo (o creandone uno nuovo assegnandoli un nome) avremo di fronte una schermata chepresenta grosso modo 2 colonne verticali

middot Quella sinistra contiene i contesti cioegrave le condizioni che fanno scattare lesecuzione di (task) specific (In questo caso leventocontesto egrave rappresentato dalla esecuzione di alcuni progammi [GMaps MyTracks e Places] da parte dallutente)

middot Quella destra indica i task specifici da eseguire allinizio (freccia verde ) ed al termine (freccia

rossa ) dellesecuzione

Nello specifico per tutti e 3 viene fatta la stessa cosa cioegrave attivare il GPS allinizio (con il task GPS Auto-Launch) e disattivarlo alla fine (task GPS Off)Nota che nellimmagine sottostante manca un pezzo della definizione del terzo contesto perchegrave laschermata egrave troppo piccola inoltre la toolbar in basso egrave diversa in quanto limmagine egrave ricavata da unaprecedente versione di Tasker

6 52

Esempio Dalla schermata di cui sopra premiamo il tasto che ci permetteragrave di scegliere leventocondizione

(context) che faragrave scattare il nostro task a questo punto ci verragrave chiesto il tipo di condizione che ciinteressa considerare

7 52

cioegrave se vogliamo far scattare il tutto

middot alla partenza di un programma (Application) egrave possibile scegliere uno specifico programma sceglierlitutti magari specificando eccezioni (parmetro opzionale not)

middot ad una certa ora o giorno (Time Day)

middot luogo (Location) identificato per mezzo del GPSWificella telefonica

middot condizioni durature (State) per cui possibile specificare cosa fare allinizio ed anche al termine dellacondizione eg attivazione del blutetooth inserimento dellauricolare

middot eventi istantanei di breve durata (Event) cosigrave brevi che non esiste una gestione di inizio e fine attivitagravema solo unazione da applicare in corrispondenza dellevento

Possibilitagrave di

middot creazione profili

middot notifiche in tray

middot widget clickabili (potendo scegliere licona tra le 200 x 22 set di icone disponibili)

middot compiti timer dipendenti

middot clickabel shortcuts sono piugrave limitati di un widget ma possono essere usati in altri contesti (eg neifolder)

RICAPITOLANDO

I progammi di Tasker sono definiti da

middot Contesti (anche multiplicontemporaneamente) che rappresentano gli eventicondizioni che attivano undeterminato task i contesti sono definiti da

o Stati Airplane Mode Bluetooth Connected Calendar Entry Docked (AnyDeskCar)Headset Plugged (AnyMicNo Mic) Incoming Call Keyboard Out Light Level MediaButton Missed Call Mobile Network (Any2G3G) Orientation (Face Up etc) Power AnyACUSB Proximity Sensor Signal Strength Unread Text Variable Value Wifi Network

8 52

Wifi Nearo Eventi sono una 50ina suddivisi in categorie alcuni dispongono di parametri aggiuntivi (eg

numerici o se devono poi trasmettere il segnale ad altri programmi)sect DateTime Alarm Clock Alarm Done Date Set TimeDate Set Timezone Setsect Display OffOnUnlockedsect File File ClosedDeletedModifiedMovedOpenedAttributes Changedsect Hardware Camera Button Search Button Long-Press Card MountedRemoved

Unmountedsect Misc Gesture possono essere registrate non serve un pulsante di inizio per la

attivazione delle gesture basta il contestosect Phone Missed Call Phone IdleOffhookRinging Received Text SMS Send Success

Failuresect Power Battery ChangedFullLowOverheatingsect System Device Boot Device Shutdown Device Storage Low Locale Changed New

RemovedUpdated Package Wallpaper Changedsect UI Button Gadget Clicked New Window Notification Notification Clicked Zoom

Clicksect Variables Variable ClearedSetsect 3rd Party Email Received (K9) Gentle Alarm Kaloer Clock OpenWatch Reddit

Notify Screebl Widget Locker (LockedUnlockedHidden)

middot Task sono insiemi di azioni (in realtagrave comprendono actions [icona fulmine] e settings [icona ruotadentata]) che possono essere da eseguire in successione oppure scegliendone una un menu da cuiscegliere una singola attivitagrave Se si intende ripetere le stesse azioni in condizioni diverse (ad esempioattivare il GPS amp alzare luminositagrave display quando parte GMaps oppure la macchina fotografica per iltagging) conviene attribuire un nome al task (che comprende le azioni che ci interessano) ed usarlo poiquante volte vogliamo nei diversi contesti (per definire task con nome basta premere il pulsante new)Le azioni disponibili sono 190 divise in 14 categorie

o ogni azione dispone di un campo if per parametri condizionali necessari per eseguire lazione o in alcune (eg Applicazioni) esiste un parametro not che permette di specificare condizioni

negativeeccezioni

NOTA IMPORTANTE le azioni che rientrano nei cosiddetti settings (licona egrave una ruota dentata) sevengono modificate nellesecuzione di un profilo al termine di esso vengono rimesse come erano prima(esempio screen brightness ) in automatico da Tasker

Task disponibili

middot Alert Flash Notify LEDSoundVibrate Cancel Notification Popup TimedWithTaskIconsWithTaskNames Torch Vibrate Vibrate Pattern

middot App Calendar Insert Go Home Kill App Load App Open Map (StreetViewNavigate)

middot Audio AlarmCallDTMFMediaNotificationRingerSystem Volume Haptic Feedback ToggleMicrophone Mute Notification Pulse NotificationRinger Vibrate Silent Mode Speakerphone SoundEffects toggle

middot Dialog 28 System Settings dialogs

middot Display Auto-Brightness Close System Dialogs Keyguard Keyguard Pattern Display BrightnessDisplay Off Timeout Display Rotation Set Wallpaper Stay On Status Bar (expandcollapse)

middot Encrypt (not in market version) FileDirectory EncryptDecryptEnterClear Passphrase

middot File Browse Files Directory CreateDeleteMove File CopyDeleteMoveOpen Write To File ReadLine Read Paragraph ZipUnzip File

middot Input Button Dpad Type (root only) Input Method Select Soft Keyboard (show)

middot Media Media Button Events (grab) Media Player Control Music FileDir PlayForwardBackStopPhotoSeriesTimeSeries Record Audio Record Audio Stop Ringtone Scan Card

middot Misc (Broadcast) Action Intent Component Intent Get Location GPS Set (lt23 or Cyanogensubmod) Run (ASE) Script Say Say To File Shut Up Search For Set Clipboard Reboot (rootonly) Set CPU (root only) Set Timezone

middot Network Airplane Mode Autosync Bluetooth Bluetooth ID Compose Email Browse URL HTTP

9 52

GET HTTP POST Mobile Data (onoff) Mobile Data 2G3G (Cyanogen only) USB Tether WiFi(settoggle) Wifi DisconnectReassociateReconnect Wifi Sleep Wifi Tether Wimax (settoggle)

middot Phone Call Call Log Call BlockDivertRevert Compose MMSSMS (Templated) Contacts EndCall Radio Send SMS Send Data SMS Silence Ringer Take Call

middot Tasker Change Icon Set If End If Goto Action Perform Task Profile Toggle Query Action SetWidget Icon Set Widget Label Stop Wait Wait Until

middot Variables SetClearIncDecQueryRandomizeSplitJoinList

middot Zoom Element Position Size State Visibility Text Size Text Image Text Colour Image Alpha

middot 3rd Party Android Notifier Astrid BeyondPod Due Today JuiceDefender DataToggle GentleAlarm NewsRob OfficeTalk SleepBot SMS Backup+ TeslaLED WidgetLocker

Variabili built-in utilizzabiliLe seguenti sono variabili predefinite utilizzabili nei nostri taskAirplane Mode Status Battery Level Bluetooth Status Brightness Called NameNumber CPUFrequencyGovernor DurationTimeDate (Out) Clipboard Contents Date Display Timeout Day of MonthWeek Free Memory GPS Status HTTP ResponseData Keyguard Status Email FromCcSubjectDateTime Light Level LocationAccuracyAltitudeProviderSpeedFix Time Music Track Profiles ActiveProfiles Enabled Screen State Text Sender AddressNameBodyDateSubjectTime Cell IDSignalStrengthServiceState Silent Mode Task Time in QueueLast Caller NameNumberDateTime (In) LastApplication Last Photo Muted Notification Title Phone Number Roaming Speakerphone TasksRunning Telephone Network Operator Time Time Seconds Uptime Seconds Speech VolumeLevel AlarmCallDTMFMediaNotificationRingerSystem WiFi Status Wimax Status Window Label

Indirizzi utili

middot Wiki con vari profili di esempio httptaskerwikidotcom

middot Esempio in inglese di semplice applicazione passo-passo httplifehackercom5599116how-to-turn-your-android-phone-into-a-fully+automated-superphone

middot Thread lungo su forum httpwwwdroidforumsnetforumdroid-applications66195-what-have-you-done-taskerhtml

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

10 52

Editing

Il programma viene editato tramite un interfaccia visuale non essendo disponibile alcun editor esterno (daPC) nonostante sia possibile esportare i task in formato XML (peraltro piuttosto complicato da capire conun apparente caos nellordine delle singole istruzioni)

Innanzitutto dalle impostazioni (tasto hardware Menu -gt preferences -gt tab UI) egrave possibile

middot Selezionare una modalitagrave di interfaccia semplificata (beginner mode) o completa francamente consiglioquestultima tanto il programma rimane complesso da utilizzare e quindi tanto vale avere in vista tuttele opzioni disponibili

middot Specificare che tipo di azione debba avvenire quando in fase di editing si clicka (brevemente o a lungo)su un singolo comando di un task egrave possibile scegliere tra

o nienteo cancellazione (delete) del comandoo editing dello stessoo options (opzioni contestuali)

Da parte mia consiglio click breve -gt editing click lungo -gt options

middot Se impostato come sopra clickando a lungo su un comando di un task appariragrave un menu contestualeche permetteragrave operazioni di cutcopypaste del comando (per spostarlocopiarlo) oppure Insert action

per aggiungere un nuovo comando al di sopra di quello clickato (altrimenti clickando sul pulsante

il nuovocomando viene sempre inserito in fondo)

EDITARE UN TASKLaccesso allediting di un tasko lo si fa

middot Clickando su un elemento della lista di task oppure sul pulsante per creare uno nuovoPer visualizzare lelenco dei task occorre attivare il tab tasks premendo sulla scritta Tasks presente inalto (alla destra di quella Profiles) [NOTA nella figura sottostante viene indicato il pulsante da premere per attivare il tab task quellomostrato egrave perograve lelenco profili non dei tasks]

middot Clickando sul task associato ad un profilo Nellelenco dei profili (mostrato premendo sulla scrittaProfiles in alto a sinistra) vi egrave lelenco dei profili definiti clickando su uno di essi sulla destra

11 52

appariranno i task ad esso associati (egrave premendo su uno di questi che si passa direttamente allediting

di quel task)

Ecco una parte della schermata di editing

middot Il pulsante serve ad aggiungere un nuovo comando in fondo al programma

middot Il pulsante permette di specificare alcune proprietagrave del task

o come comportarsi nel caso un task venga eseguito mentre egrave giagrave in esecuzione uno identico (sipuograve scegliere di farli funzionare entrambi oppure di far sopravvivere quello giagrave in esecuzioneoppure la nuova istanza)

o se mantenere il programma attivo anche a schermo spento utile per evitare che una lungaelaborazione si interrompa a causa della modalitagrave automatica a basso consumo di Android(daltra parte espone a rischi di consumo di batteria elevato ad esempio se il programma perun bug continua a girare indefinitivamente)

middot il pulsante permette di scegliere unicona da associare al task tale icona appare nellelenco deitask ed egrave obbligatoria se si vuole creare un widget dal task

A seconda di come avete specificato su preferenze (vedi sopra) clickando su un comando egrave possibile

12 52

modificarne i parametri in una schermata simile a questa [ad esser precisi questa egrave ledit di un evento malo schema egrave identico]

Pulsanti presenti

middot Accetta le modifiche al comando

middot Lascia perdere le modifiche al comando

middot Mostra un breve testo di aiuto sul comando (molto utile La prima volta chiede se si vuole

scaricare una volta per tutte la guida di tutti i comandi sulla scheda SDcosa che raccomando)

Sempre da questa schermata egrave possibile sostituire un comando con un altro premendo sulla riga diintestazione del comando (che nella figura ho indicato con una piccola freccia gialla)

Drag amp drop sui comandiAlcune operazioni di editing sono possibili clickando sulla estrema destra della linea di un comando(dove in genere vi egrave una piccola icona [vedi freccia gialla nella figura sottostante])

A questo punto egrave possibile trascinarlo

middot sugiugrave per spostarlo in altri punti del programma

middot oppure portandolo completamente in basso (dove nel frattempo egrave apparsa licona di un cestino) eliminarlo

13 52

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

14 52

Linguaggio

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Subroutine (Perform task)Questo comando permette di richiamare un task dallinterno di un altro task in pratica permette di chiamareuna subroutine

Il problema principale nellutilizzo egrave la gestione del rapporto di esecuzione tra task chiamante ed il nuovotask invocato infatti si puograve volere aspettare che il nuovo task abbia terminato la propria esecuzione oppureeseguire i due task contemporaneamente (ad esempio se il nuovo task non crea nulla di necessario al taskchiamante)

Questi rapporti sono regolati dalla proprietagrave Stop e dalla prioritagrave (Priority)

Possibilitagrave

middot task chiamante ha prioritagrave piugrave bassa --gt sorta di richiamo subroutine

middot I nomi dei task iniziano con la lettera maiuscola ricordatene se pensi di eseguirne unomanualmente con il comando Esegui task

middot Quando si fa partire un task con il pulsante Test gli viene assegnata unaltissima prioritagrave percui rischia di incasinare i funzionamenti delle proprietagrave in eventuali task secondari al limite conviene farpartire il task che si vuole httpgroupsgooglecomgrouptaskerbrowse_threadthreadc69984d07da62852f229345b40070597lnk=gstampq=priorityf229345b40070597

middot Quando si lancia un task da un altro task (con lazione Task launch) il parametro STOP indica seoccorra aspettare che il task richiamato debba finire prima di poter continuare la cosa non egrave da pocosoprattutto se il resto dello script lavora sui dati creati dal task richiamato inizialmente In realtagrave contanoanche le prioritagrave nel comportamento vedi sezione apposta

PROBLEMIIn realtagrave ci sono problemi nella gestione attuale (per cui lautore sta lavorando sulla prossima versione) percui al momento non riesco a fare in modo che sia atteso il termine del nuovo task prima di proseguiredandogli prioritagrave piugrave alta non cambia nulla mettendo la proprietagrave Stop lo scripting si ferma ligrave per sempre

Al momento quindi nelle routine piugrave adoperate come subroutine come ultima istruzione setto una variabileomonima alla routine+END (xxxEND)=on per essere sicuri che la routine abbia finito devo prima dichiamare il task settare la variabile xxxEND ad un valore diverso da on chiamare il task e nella istruzionesuccessiva mettere un While Until xxxEND=onun po sporco ma

Anche con tale variabile sentinella ottengo che dica solo la vrase Save settings in esecuzione ma nonarriva alla fine

Temo sia un bug

(Task A)Perform Task BSay A ended

(Task B)Say B startedSET few variablesSay B ended

15 52

Stop Priority A Priority B Resulting say No 5 0 A ended B Started B ended No 5 5 A ended B Started B ended No 5 6 A ended B Started B ended No 5 10 B started A ended B endedYes 5 10 B started B ended (no A ended script stop [disappear Kill App]Yes 5 5 B started B ended (no A ended script stop [disappear Kill App]Yes 5 0 B started B ended (no A ended script stop [disappear Kill App]

Maggiori dettagli e consigli

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread4bfc0c42513b899f38e9d290cc696468

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread1d072ff37368d8aa3eac641b90f07d03

Proposta per riuscire a fare in modo che un task aspetti il completamento dellaltroI just used the tasks that you had typed with only one change When you use the Perform Task in Task 1 I had Stop OFF Your tasks work fine this way (unless you are trying to do other things you have not mentioned) If this is the case you should probably make the Priority higher say 10 then it will do everything in the second task before continuing with the first task If you are still having a problem you could use a variable to tell Task 1 when it should continue Task T1 Varible Set WAITING to 1 Popup Title T1 Text Text 1 Perform Task Name T2 Stop OFF Wait Until WAITING Set Popup Title T3 Text Text 3 Task T2 Popup Title T2 Text Text 2 Varible Clear WAITING

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Prioritagrave

La prioritagrave di un task dipende da molti fattori

middot Un task avviato con il pulsante Test delleditor ha una super-prioritagrave

middot I task shortcutwidget hanno la prioritagrave impostata nel menu di Tasker Prefs Action setting (globalsetting)

middot Nel caso di Perform task dipende dalla proprietagrave di questa action

middot Vi egrave anche un qualcosa che riguarda i profili

middot Se devi mettere una prioritagrave alta al max adopera 9 ( e non 10 sembra fare casini)

In realtagrave la cosa egrave piugrave complicata vedi httpgroupsgooglecomgrouptaskerbrowse_threadthreada7c32914ae697898253da51e02b56ac3lnk=gstampq=priority253da51e02b56ac3

Created with the Personal Edition of HelpNDoc Free help authoring environment

LocalizzazioneE un sistema un po complesso da far funzionare correttamente

Tasker egrave in grado di sfruttare diversi sistemi di localizzazione geografica

middot Celle telefoniche molto impreciso (anche di km) resiste abbastanza anche al chiuso non comportaconsumo in piugrave rispetto al normale utilizzo telefonico

16 52

middot Rete Internet [net] forse sfrutta tipo una sorta di IP o simili

middot Rete WiFi (amp Internet) si basa su mappe di distribuzione dei punti di accesso WiFi (mappeconsultabile tramite Google) sapendo che una data rete WiFi si trova in un specifico contestogeografico risale alla localizzazione attuale Poichegrave le mappe sono online egrave necessario laccesso adInternet (motivo per cui la localizzazione WiFi richiede anche laccesso alla rete Internet [anche sechiaramente il WiFI in segrave ne egrave indipendente come rete])

middot GPS molto preciso (anche nellordine delle decine di metri) difficilmente funziona al chiuso consumaparecchia batteria

Il permesso di adoperare la localizzazione legata alle reti (telefoniche o WiFi) oppure al GPS egravecontrollata da specifiche impostazioni in Android da notare che sono una cosa diversa dalla sempliceattivazione della rete WiFi scambio dati (ad esempio per la localizzazione con WiFi occorre che siaattivo il modulo WiFi del cellulare ma ANCHE abilitatapermessa la localizzazione tramite reti) Al momento non credo sia possibile cambiare il permesso di localizzazione tramite Tasker suppongo siaun fatto di sicurezzaprivacy (per evitare che un programma ci possa tracciare di nascosto) daltra partetenerlo sempre acceso non credo comporti nessun consumo in piugrave in quanto costituisce una sempliceautorizzazione allutilizzo dei dati per la localizzazione ma in segrave non attiva nessuna rete o dispositivo (cosache eventualmente dovragrave essere fatta a parte)

Chiaramente egrave importante la frequenza con cui vengono controllate le fonti della attuale localizzazioneIn genere esistono

middot una frequenza di controllo con dispositivo acceso (display on) specifica per ogni modalitagrave dilocalizzazione

middot una frequenza di controllo a dispositivo spento (display off) comune a tutte le fonti per minimizzare iltempo di attivazione del dispositivo per effetuare i controlli (nel menu Display Off Settings egrave possibileimpostare sia la frequenza che la massima durata dei controlli)

Il servizio di localizzazione presuppone di trovarsi sempre nel punto ricavato dallultima localizzazione

Questi sistemi vengono sfruttati per 2 scopi

middot Conoscere esattamente il punto dove ci si trova (possibilmente al metro) ad esempio per dire dove citroviamo per farci raggiungere (positionlocation)

Per questo scopo si possono adoperare

o Rete internet [net] consuma poco (poco in piugrave rispetto al normale uso telefonico purchegrave siadisponibile un network) ma la precisione varia enormemente e richiede sia il collegamento allarete (network internet suppongo) che quello telefonico (phone service)Per impostarla occorre creare un location context e disattivare il GPS egrave importante impostareun raggio ampio intorno alla posizione di interesse (la frequenza di controllo egrave regolabile sia adisplay spento che acceso)

o Rete WiFi E Internet [net] maggiore consumo precisione molto variabile (buona in areepopolose) necessita sia di rete Internet (net) che WIFiPer impostarlo occorre creare un location context disattivare il GPS ed attivare il WiFi perottenere una maggiore precisionePer registrarlo occorre recarsi sul posto almeno 1 volta

o GPS alto consumo alta precisione allaperto molti problemi al chiusoPer impostarlo occorre creare un location context e deselezionare NetLa frequenza di controllo a dispositivo acceso egrave impostabile come pure quella del dispositivospento (in comune con altre fonti di localizzazione) Si puograve impostare anche il GPS Timeout che specifica quanto tempo debba continuare iltentativo di ottenere una localizzazione GPS (chiaramente questo influenza sia la capacitagrave distabilire una localizzazione ma anche il consumo della batteria)Poichegrave il controllo della posizione GPS non egrave continuo (ma ad intervalli) e dato che al chiusonon riesce a stabilire la posizione se dalla posizione A (localizzata) si passa nella posizione B

17 52

al chiuso (no segnale no localizzazione) il dispositivo faragrave riferimento allultima posizionestabilita (fix) per cui crederagrave di essere ancora in A (cambieragrave idea quando usciragrave allaperto edavverragrave un fix) NOTA sono 2 cose distintesect la predisposizione dellhardware (GPS on con Tasker oppure premere il pulsante

nella tray)sect e lutilizzo effettivo per localizzazione (che avviene con GetLocation in Tasker

oppure facendo partire un programma che usa il GPS) solo in questo secondopassaggio appariragrave licona lampeggiante (e poi stabile) nella tray chiaramente perograve nonpotragrave apparire mai se lhardware egrave scollegato

middot Sapere in quale AREA (piugrave vasta) ci si trova eg per fare qualcosa se ci troviamo in ambito casalingo(status)

Per questo si possono adoperare

o Stato di vicinanza a celle telefoniche consuma pochissimo (pari al normale funzionamentotelefonico) molto impreciso (ma resiste abbastanza bene al chiuso) Laggiornamento avviene secondo un frequenza regolabile quando il display egrave spento mentre adisplay acceso laggiornamento avviene appena la cella egrave visibile (as soon as the tower isvisible)Per adoperarlo occorre impostare uno state context con Cell near -gt Update mentre ci simuove nellarea di interesse (dunque egrave necessario recarcisivi almeno una volta)

o Stato di vicinanza a reti wifi consuma abbastanza (ma meno del GPS) buona la precisionenecessita di un accesso WIFi nei paraggi funziona anche al chiusoPer adoperarlo occorre impostare uno state context con WiFi near ed imposta il SSID(identificatore di rete) del miglior segnale WiFi che vuoi utilizzareidentificareQuesta funzione fa regolari controlli delle reti WiFi e scatta lattivazione se riconosce un puntodi accesso tra quelli impostati da notare che non serve collegarsi alla rete WiFi basta che siaricevibile (motivo per cui si puograve anche sfruttare la rete magari piugrave forte del vicino) Se si vuol evitare di mantenere acceso il WiFi in continuazione basta attivare la casella dicontrollo WiFi Toggle in questo modo verragrave attivato da Tasker solo quando necessiteragrave dieffettuare i controlli delle reti presenti

Rapporto tra consumo e precisione

MetodoConsumoenergetico

PrecisioneNecessita diinternet [net]

Necessita delWiFi

Stato vicinanza a celletelefoniche [State]

Posizione rete internet[Location][Net]

Sigrave

Posizione rete internet amp Wifi Sigrave Sigrave

Stato vicinanza a WiFi Sigrave

Posizione GPS Sigrave

Ad un numero maggiore di stelle corrisponde maggior consumo o precisione (a seconda della colonna)

Tasker adotta delle strategie per limitare il consumo energetico ad esempio in caso di piugrave contesti nelmedesimo profilo dapprima aspetteragrave che si attivino quelli a minor dispendio energetico e solo inseguito controlleragrave gli altri

18 52

Ad esempio per capire se si egrave a casa si puograve creare un profilo con doppio contesto che adopera sia unaposizione Internet [Location Net] che uno stato WiFi near Tasker effettueragrave i controlli WIFi soloquando ci si troveragrave nel quartiere

Variabili predefinite

Sono disponibili alcune variabili predefinite per controllare la localizzazione

Variabili utili per le celle telefoniche

middot CELLID (dinamica monitorata) riporta lattuale cella telefonica se nota Da notare che il Cell near state (cioegrave lo stato legato alla vicinanza ad una specifica cella) puograverimanere attivo (cioegrave indicare che si egrave in un dato contesto di celle) anche se in realtagrave la variabile CELLID riporta che effettuvamente la cella attuale egrave sconosciutanon valida Questo per evitare cheil contesto di stato Cell near state possa cambiare semplicemente perchegrave si egrave interrotto il serviziotelefonico In altre parole

o CELLID riporta sempre la situazione in tempo reale (nota che la stringa riportata iniziacon GSM (eg GSM2002651372) se non cegrave collegamento telefonico riporta comese la variabile non esistesse (cioegrave il nome stesso CELLID) NOTA

o lo stato Cell near state varia solo in risposta a ID di cella validi (non cambia se la cellaattuale diviene non valida [non raggiungibilitagrave telefonica])

Variabili utili per la localizzazione net (Internet)

middot LOCN (dinamica) latitudine e longitudine dellultimo network location fix (localizzazione)

middot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNTMS (dinamica) orario (espresso in secondi) in cui egrave avvenuto lultimo network location

fix Per ottenere quanto tempo egrave trascorso dallultimo fix (cioegrave unindicazione relativa) basta sottrarloallorario attuale che egrave contenuto nella variabile TIMES (ora attuale espressa in secondi trascorsidal Gennaio 1970 notare la S finale TIME e TIMES sono due cose diverse) eg TIMES-LOCNTMS --gt n di secondi trascorsi dallultimo fixPer controllare il successo di un fix vedi piugrave sotto (in pratica salva lorario attuale tenta il fix econfronta lorario salvato con quello dellultimo fix riuscito)

Variabili utili per il GPS

middot LOC (dinamica) latitudine e longitudine dellultimo GPS fix (localizzazione)

middot LOCACC (dinamica) accuratezza in metri dellultimo GPS fix

middot LOCALT (dinamica) altezza in metri dellultimo GPS fix riporta 0 se non egrave disponibile

middot LOCSPD (dinamica) velocitagrave (metri al secondo) dellultimo GPS fix riporta 0 se non egravedisponibile

middot LOCTMS (dinamica) orario (espresso in secondi) dellultimo GPS fix Per calcolare quanti secondi sono passati dallultimo fix vedi la spiegazione giagrave fatta per la variabile

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 6: Tasker Android

6 52

Esempio Dalla schermata di cui sopra premiamo il tasto che ci permetteragrave di scegliere leventocondizione

(context) che faragrave scattare il nostro task a questo punto ci verragrave chiesto il tipo di condizione che ciinteressa considerare

7 52

cioegrave se vogliamo far scattare il tutto

middot alla partenza di un programma (Application) egrave possibile scegliere uno specifico programma sceglierlitutti magari specificando eccezioni (parmetro opzionale not)

middot ad una certa ora o giorno (Time Day)

middot luogo (Location) identificato per mezzo del GPSWificella telefonica

middot condizioni durature (State) per cui possibile specificare cosa fare allinizio ed anche al termine dellacondizione eg attivazione del blutetooth inserimento dellauricolare

middot eventi istantanei di breve durata (Event) cosigrave brevi che non esiste una gestione di inizio e fine attivitagravema solo unazione da applicare in corrispondenza dellevento

Possibilitagrave di

middot creazione profili

middot notifiche in tray

middot widget clickabili (potendo scegliere licona tra le 200 x 22 set di icone disponibili)

middot compiti timer dipendenti

middot clickabel shortcuts sono piugrave limitati di un widget ma possono essere usati in altri contesti (eg neifolder)

RICAPITOLANDO

I progammi di Tasker sono definiti da

middot Contesti (anche multiplicontemporaneamente) che rappresentano gli eventicondizioni che attivano undeterminato task i contesti sono definiti da

o Stati Airplane Mode Bluetooth Connected Calendar Entry Docked (AnyDeskCar)Headset Plugged (AnyMicNo Mic) Incoming Call Keyboard Out Light Level MediaButton Missed Call Mobile Network (Any2G3G) Orientation (Face Up etc) Power AnyACUSB Proximity Sensor Signal Strength Unread Text Variable Value Wifi Network

8 52

Wifi Nearo Eventi sono una 50ina suddivisi in categorie alcuni dispongono di parametri aggiuntivi (eg

numerici o se devono poi trasmettere il segnale ad altri programmi)sect DateTime Alarm Clock Alarm Done Date Set TimeDate Set Timezone Setsect Display OffOnUnlockedsect File File ClosedDeletedModifiedMovedOpenedAttributes Changedsect Hardware Camera Button Search Button Long-Press Card MountedRemoved

Unmountedsect Misc Gesture possono essere registrate non serve un pulsante di inizio per la

attivazione delle gesture basta il contestosect Phone Missed Call Phone IdleOffhookRinging Received Text SMS Send Success

Failuresect Power Battery ChangedFullLowOverheatingsect System Device Boot Device Shutdown Device Storage Low Locale Changed New

RemovedUpdated Package Wallpaper Changedsect UI Button Gadget Clicked New Window Notification Notification Clicked Zoom

Clicksect Variables Variable ClearedSetsect 3rd Party Email Received (K9) Gentle Alarm Kaloer Clock OpenWatch Reddit

Notify Screebl Widget Locker (LockedUnlockedHidden)

middot Task sono insiemi di azioni (in realtagrave comprendono actions [icona fulmine] e settings [icona ruotadentata]) che possono essere da eseguire in successione oppure scegliendone una un menu da cuiscegliere una singola attivitagrave Se si intende ripetere le stesse azioni in condizioni diverse (ad esempioattivare il GPS amp alzare luminositagrave display quando parte GMaps oppure la macchina fotografica per iltagging) conviene attribuire un nome al task (che comprende le azioni che ci interessano) ed usarlo poiquante volte vogliamo nei diversi contesti (per definire task con nome basta premere il pulsante new)Le azioni disponibili sono 190 divise in 14 categorie

o ogni azione dispone di un campo if per parametri condizionali necessari per eseguire lazione o in alcune (eg Applicazioni) esiste un parametro not che permette di specificare condizioni

negativeeccezioni

NOTA IMPORTANTE le azioni che rientrano nei cosiddetti settings (licona egrave una ruota dentata) sevengono modificate nellesecuzione di un profilo al termine di esso vengono rimesse come erano prima(esempio screen brightness ) in automatico da Tasker

Task disponibili

middot Alert Flash Notify LEDSoundVibrate Cancel Notification Popup TimedWithTaskIconsWithTaskNames Torch Vibrate Vibrate Pattern

middot App Calendar Insert Go Home Kill App Load App Open Map (StreetViewNavigate)

middot Audio AlarmCallDTMFMediaNotificationRingerSystem Volume Haptic Feedback ToggleMicrophone Mute Notification Pulse NotificationRinger Vibrate Silent Mode Speakerphone SoundEffects toggle

middot Dialog 28 System Settings dialogs

middot Display Auto-Brightness Close System Dialogs Keyguard Keyguard Pattern Display BrightnessDisplay Off Timeout Display Rotation Set Wallpaper Stay On Status Bar (expandcollapse)

middot Encrypt (not in market version) FileDirectory EncryptDecryptEnterClear Passphrase

middot File Browse Files Directory CreateDeleteMove File CopyDeleteMoveOpen Write To File ReadLine Read Paragraph ZipUnzip File

middot Input Button Dpad Type (root only) Input Method Select Soft Keyboard (show)

middot Media Media Button Events (grab) Media Player Control Music FileDir PlayForwardBackStopPhotoSeriesTimeSeries Record Audio Record Audio Stop Ringtone Scan Card

middot Misc (Broadcast) Action Intent Component Intent Get Location GPS Set (lt23 or Cyanogensubmod) Run (ASE) Script Say Say To File Shut Up Search For Set Clipboard Reboot (rootonly) Set CPU (root only) Set Timezone

middot Network Airplane Mode Autosync Bluetooth Bluetooth ID Compose Email Browse URL HTTP

9 52

GET HTTP POST Mobile Data (onoff) Mobile Data 2G3G (Cyanogen only) USB Tether WiFi(settoggle) Wifi DisconnectReassociateReconnect Wifi Sleep Wifi Tether Wimax (settoggle)

middot Phone Call Call Log Call BlockDivertRevert Compose MMSSMS (Templated) Contacts EndCall Radio Send SMS Send Data SMS Silence Ringer Take Call

middot Tasker Change Icon Set If End If Goto Action Perform Task Profile Toggle Query Action SetWidget Icon Set Widget Label Stop Wait Wait Until

middot Variables SetClearIncDecQueryRandomizeSplitJoinList

middot Zoom Element Position Size State Visibility Text Size Text Image Text Colour Image Alpha

middot 3rd Party Android Notifier Astrid BeyondPod Due Today JuiceDefender DataToggle GentleAlarm NewsRob OfficeTalk SleepBot SMS Backup+ TeslaLED WidgetLocker

Variabili built-in utilizzabiliLe seguenti sono variabili predefinite utilizzabili nei nostri taskAirplane Mode Status Battery Level Bluetooth Status Brightness Called NameNumber CPUFrequencyGovernor DurationTimeDate (Out) Clipboard Contents Date Display Timeout Day of MonthWeek Free Memory GPS Status HTTP ResponseData Keyguard Status Email FromCcSubjectDateTime Light Level LocationAccuracyAltitudeProviderSpeedFix Time Music Track Profiles ActiveProfiles Enabled Screen State Text Sender AddressNameBodyDateSubjectTime Cell IDSignalStrengthServiceState Silent Mode Task Time in QueueLast Caller NameNumberDateTime (In) LastApplication Last Photo Muted Notification Title Phone Number Roaming Speakerphone TasksRunning Telephone Network Operator Time Time Seconds Uptime Seconds Speech VolumeLevel AlarmCallDTMFMediaNotificationRingerSystem WiFi Status Wimax Status Window Label

Indirizzi utili

middot Wiki con vari profili di esempio httptaskerwikidotcom

middot Esempio in inglese di semplice applicazione passo-passo httplifehackercom5599116how-to-turn-your-android-phone-into-a-fully+automated-superphone

middot Thread lungo su forum httpwwwdroidforumsnetforumdroid-applications66195-what-have-you-done-taskerhtml

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

10 52

Editing

Il programma viene editato tramite un interfaccia visuale non essendo disponibile alcun editor esterno (daPC) nonostante sia possibile esportare i task in formato XML (peraltro piuttosto complicato da capire conun apparente caos nellordine delle singole istruzioni)

Innanzitutto dalle impostazioni (tasto hardware Menu -gt preferences -gt tab UI) egrave possibile

middot Selezionare una modalitagrave di interfaccia semplificata (beginner mode) o completa francamente consiglioquestultima tanto il programma rimane complesso da utilizzare e quindi tanto vale avere in vista tuttele opzioni disponibili

middot Specificare che tipo di azione debba avvenire quando in fase di editing si clicka (brevemente o a lungo)su un singolo comando di un task egrave possibile scegliere tra

o nienteo cancellazione (delete) del comandoo editing dello stessoo options (opzioni contestuali)

Da parte mia consiglio click breve -gt editing click lungo -gt options

middot Se impostato come sopra clickando a lungo su un comando di un task appariragrave un menu contestualeche permetteragrave operazioni di cutcopypaste del comando (per spostarlocopiarlo) oppure Insert action

per aggiungere un nuovo comando al di sopra di quello clickato (altrimenti clickando sul pulsante

il nuovocomando viene sempre inserito in fondo)

EDITARE UN TASKLaccesso allediting di un tasko lo si fa

middot Clickando su un elemento della lista di task oppure sul pulsante per creare uno nuovoPer visualizzare lelenco dei task occorre attivare il tab tasks premendo sulla scritta Tasks presente inalto (alla destra di quella Profiles) [NOTA nella figura sottostante viene indicato il pulsante da premere per attivare il tab task quellomostrato egrave perograve lelenco profili non dei tasks]

middot Clickando sul task associato ad un profilo Nellelenco dei profili (mostrato premendo sulla scrittaProfiles in alto a sinistra) vi egrave lelenco dei profili definiti clickando su uno di essi sulla destra

11 52

appariranno i task ad esso associati (egrave premendo su uno di questi che si passa direttamente allediting

di quel task)

Ecco una parte della schermata di editing

middot Il pulsante serve ad aggiungere un nuovo comando in fondo al programma

middot Il pulsante permette di specificare alcune proprietagrave del task

o come comportarsi nel caso un task venga eseguito mentre egrave giagrave in esecuzione uno identico (sipuograve scegliere di farli funzionare entrambi oppure di far sopravvivere quello giagrave in esecuzioneoppure la nuova istanza)

o se mantenere il programma attivo anche a schermo spento utile per evitare che una lungaelaborazione si interrompa a causa della modalitagrave automatica a basso consumo di Android(daltra parte espone a rischi di consumo di batteria elevato ad esempio se il programma perun bug continua a girare indefinitivamente)

middot il pulsante permette di scegliere unicona da associare al task tale icona appare nellelenco deitask ed egrave obbligatoria se si vuole creare un widget dal task

A seconda di come avete specificato su preferenze (vedi sopra) clickando su un comando egrave possibile

12 52

modificarne i parametri in una schermata simile a questa [ad esser precisi questa egrave ledit di un evento malo schema egrave identico]

Pulsanti presenti

middot Accetta le modifiche al comando

middot Lascia perdere le modifiche al comando

middot Mostra un breve testo di aiuto sul comando (molto utile La prima volta chiede se si vuole

scaricare una volta per tutte la guida di tutti i comandi sulla scheda SDcosa che raccomando)

Sempre da questa schermata egrave possibile sostituire un comando con un altro premendo sulla riga diintestazione del comando (che nella figura ho indicato con una piccola freccia gialla)

Drag amp drop sui comandiAlcune operazioni di editing sono possibili clickando sulla estrema destra della linea di un comando(dove in genere vi egrave una piccola icona [vedi freccia gialla nella figura sottostante])

A questo punto egrave possibile trascinarlo

middot sugiugrave per spostarlo in altri punti del programma

middot oppure portandolo completamente in basso (dove nel frattempo egrave apparsa licona di un cestino) eliminarlo

13 52

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

14 52

Linguaggio

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Subroutine (Perform task)Questo comando permette di richiamare un task dallinterno di un altro task in pratica permette di chiamareuna subroutine

Il problema principale nellutilizzo egrave la gestione del rapporto di esecuzione tra task chiamante ed il nuovotask invocato infatti si puograve volere aspettare che il nuovo task abbia terminato la propria esecuzione oppureeseguire i due task contemporaneamente (ad esempio se il nuovo task non crea nulla di necessario al taskchiamante)

Questi rapporti sono regolati dalla proprietagrave Stop e dalla prioritagrave (Priority)

Possibilitagrave

middot task chiamante ha prioritagrave piugrave bassa --gt sorta di richiamo subroutine

middot I nomi dei task iniziano con la lettera maiuscola ricordatene se pensi di eseguirne unomanualmente con il comando Esegui task

middot Quando si fa partire un task con il pulsante Test gli viene assegnata unaltissima prioritagrave percui rischia di incasinare i funzionamenti delle proprietagrave in eventuali task secondari al limite conviene farpartire il task che si vuole httpgroupsgooglecomgrouptaskerbrowse_threadthreadc69984d07da62852f229345b40070597lnk=gstampq=priorityf229345b40070597

middot Quando si lancia un task da un altro task (con lazione Task launch) il parametro STOP indica seoccorra aspettare che il task richiamato debba finire prima di poter continuare la cosa non egrave da pocosoprattutto se il resto dello script lavora sui dati creati dal task richiamato inizialmente In realtagrave contanoanche le prioritagrave nel comportamento vedi sezione apposta

PROBLEMIIn realtagrave ci sono problemi nella gestione attuale (per cui lautore sta lavorando sulla prossima versione) percui al momento non riesco a fare in modo che sia atteso il termine del nuovo task prima di proseguiredandogli prioritagrave piugrave alta non cambia nulla mettendo la proprietagrave Stop lo scripting si ferma ligrave per sempre

Al momento quindi nelle routine piugrave adoperate come subroutine come ultima istruzione setto una variabileomonima alla routine+END (xxxEND)=on per essere sicuri che la routine abbia finito devo prima dichiamare il task settare la variabile xxxEND ad un valore diverso da on chiamare il task e nella istruzionesuccessiva mettere un While Until xxxEND=onun po sporco ma

Anche con tale variabile sentinella ottengo che dica solo la vrase Save settings in esecuzione ma nonarriva alla fine

Temo sia un bug

(Task A)Perform Task BSay A ended

(Task B)Say B startedSET few variablesSay B ended

15 52

Stop Priority A Priority B Resulting say No 5 0 A ended B Started B ended No 5 5 A ended B Started B ended No 5 6 A ended B Started B ended No 5 10 B started A ended B endedYes 5 10 B started B ended (no A ended script stop [disappear Kill App]Yes 5 5 B started B ended (no A ended script stop [disappear Kill App]Yes 5 0 B started B ended (no A ended script stop [disappear Kill App]

Maggiori dettagli e consigli

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread4bfc0c42513b899f38e9d290cc696468

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread1d072ff37368d8aa3eac641b90f07d03

Proposta per riuscire a fare in modo che un task aspetti il completamento dellaltroI just used the tasks that you had typed with only one change When you use the Perform Task in Task 1 I had Stop OFF Your tasks work fine this way (unless you are trying to do other things you have not mentioned) If this is the case you should probably make the Priority higher say 10 then it will do everything in the second task before continuing with the first task If you are still having a problem you could use a variable to tell Task 1 when it should continue Task T1 Varible Set WAITING to 1 Popup Title T1 Text Text 1 Perform Task Name T2 Stop OFF Wait Until WAITING Set Popup Title T3 Text Text 3 Task T2 Popup Title T2 Text Text 2 Varible Clear WAITING

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Prioritagrave

La prioritagrave di un task dipende da molti fattori

middot Un task avviato con il pulsante Test delleditor ha una super-prioritagrave

middot I task shortcutwidget hanno la prioritagrave impostata nel menu di Tasker Prefs Action setting (globalsetting)

middot Nel caso di Perform task dipende dalla proprietagrave di questa action

middot Vi egrave anche un qualcosa che riguarda i profili

middot Se devi mettere una prioritagrave alta al max adopera 9 ( e non 10 sembra fare casini)

In realtagrave la cosa egrave piugrave complicata vedi httpgroupsgooglecomgrouptaskerbrowse_threadthreada7c32914ae697898253da51e02b56ac3lnk=gstampq=priority253da51e02b56ac3

Created with the Personal Edition of HelpNDoc Free help authoring environment

LocalizzazioneE un sistema un po complesso da far funzionare correttamente

Tasker egrave in grado di sfruttare diversi sistemi di localizzazione geografica

middot Celle telefoniche molto impreciso (anche di km) resiste abbastanza anche al chiuso non comportaconsumo in piugrave rispetto al normale utilizzo telefonico

16 52

middot Rete Internet [net] forse sfrutta tipo una sorta di IP o simili

middot Rete WiFi (amp Internet) si basa su mappe di distribuzione dei punti di accesso WiFi (mappeconsultabile tramite Google) sapendo che una data rete WiFi si trova in un specifico contestogeografico risale alla localizzazione attuale Poichegrave le mappe sono online egrave necessario laccesso adInternet (motivo per cui la localizzazione WiFi richiede anche laccesso alla rete Internet [anche sechiaramente il WiFI in segrave ne egrave indipendente come rete])

middot GPS molto preciso (anche nellordine delle decine di metri) difficilmente funziona al chiuso consumaparecchia batteria

Il permesso di adoperare la localizzazione legata alle reti (telefoniche o WiFi) oppure al GPS egravecontrollata da specifiche impostazioni in Android da notare che sono una cosa diversa dalla sempliceattivazione della rete WiFi scambio dati (ad esempio per la localizzazione con WiFi occorre che siaattivo il modulo WiFi del cellulare ma ANCHE abilitatapermessa la localizzazione tramite reti) Al momento non credo sia possibile cambiare il permesso di localizzazione tramite Tasker suppongo siaun fatto di sicurezzaprivacy (per evitare che un programma ci possa tracciare di nascosto) daltra partetenerlo sempre acceso non credo comporti nessun consumo in piugrave in quanto costituisce una sempliceautorizzazione allutilizzo dei dati per la localizzazione ma in segrave non attiva nessuna rete o dispositivo (cosache eventualmente dovragrave essere fatta a parte)

Chiaramente egrave importante la frequenza con cui vengono controllate le fonti della attuale localizzazioneIn genere esistono

middot una frequenza di controllo con dispositivo acceso (display on) specifica per ogni modalitagrave dilocalizzazione

middot una frequenza di controllo a dispositivo spento (display off) comune a tutte le fonti per minimizzare iltempo di attivazione del dispositivo per effetuare i controlli (nel menu Display Off Settings egrave possibileimpostare sia la frequenza che la massima durata dei controlli)

Il servizio di localizzazione presuppone di trovarsi sempre nel punto ricavato dallultima localizzazione

Questi sistemi vengono sfruttati per 2 scopi

middot Conoscere esattamente il punto dove ci si trova (possibilmente al metro) ad esempio per dire dove citroviamo per farci raggiungere (positionlocation)

Per questo scopo si possono adoperare

o Rete internet [net] consuma poco (poco in piugrave rispetto al normale uso telefonico purchegrave siadisponibile un network) ma la precisione varia enormemente e richiede sia il collegamento allarete (network internet suppongo) che quello telefonico (phone service)Per impostarla occorre creare un location context e disattivare il GPS egrave importante impostareun raggio ampio intorno alla posizione di interesse (la frequenza di controllo egrave regolabile sia adisplay spento che acceso)

o Rete WiFi E Internet [net] maggiore consumo precisione molto variabile (buona in areepopolose) necessita sia di rete Internet (net) che WIFiPer impostarlo occorre creare un location context disattivare il GPS ed attivare il WiFi perottenere una maggiore precisionePer registrarlo occorre recarsi sul posto almeno 1 volta

o GPS alto consumo alta precisione allaperto molti problemi al chiusoPer impostarlo occorre creare un location context e deselezionare NetLa frequenza di controllo a dispositivo acceso egrave impostabile come pure quella del dispositivospento (in comune con altre fonti di localizzazione) Si puograve impostare anche il GPS Timeout che specifica quanto tempo debba continuare iltentativo di ottenere una localizzazione GPS (chiaramente questo influenza sia la capacitagrave distabilire una localizzazione ma anche il consumo della batteria)Poichegrave il controllo della posizione GPS non egrave continuo (ma ad intervalli) e dato che al chiusonon riesce a stabilire la posizione se dalla posizione A (localizzata) si passa nella posizione B

17 52

al chiuso (no segnale no localizzazione) il dispositivo faragrave riferimento allultima posizionestabilita (fix) per cui crederagrave di essere ancora in A (cambieragrave idea quando usciragrave allaperto edavverragrave un fix) NOTA sono 2 cose distintesect la predisposizione dellhardware (GPS on con Tasker oppure premere il pulsante

nella tray)sect e lutilizzo effettivo per localizzazione (che avviene con GetLocation in Tasker

oppure facendo partire un programma che usa il GPS) solo in questo secondopassaggio appariragrave licona lampeggiante (e poi stabile) nella tray chiaramente perograve nonpotragrave apparire mai se lhardware egrave scollegato

middot Sapere in quale AREA (piugrave vasta) ci si trova eg per fare qualcosa se ci troviamo in ambito casalingo(status)

Per questo si possono adoperare

o Stato di vicinanza a celle telefoniche consuma pochissimo (pari al normale funzionamentotelefonico) molto impreciso (ma resiste abbastanza bene al chiuso) Laggiornamento avviene secondo un frequenza regolabile quando il display egrave spento mentre adisplay acceso laggiornamento avviene appena la cella egrave visibile (as soon as the tower isvisible)Per adoperarlo occorre impostare uno state context con Cell near -gt Update mentre ci simuove nellarea di interesse (dunque egrave necessario recarcisivi almeno una volta)

o Stato di vicinanza a reti wifi consuma abbastanza (ma meno del GPS) buona la precisionenecessita di un accesso WIFi nei paraggi funziona anche al chiusoPer adoperarlo occorre impostare uno state context con WiFi near ed imposta il SSID(identificatore di rete) del miglior segnale WiFi che vuoi utilizzareidentificareQuesta funzione fa regolari controlli delle reti WiFi e scatta lattivazione se riconosce un puntodi accesso tra quelli impostati da notare che non serve collegarsi alla rete WiFi basta che siaricevibile (motivo per cui si puograve anche sfruttare la rete magari piugrave forte del vicino) Se si vuol evitare di mantenere acceso il WiFi in continuazione basta attivare la casella dicontrollo WiFi Toggle in questo modo verragrave attivato da Tasker solo quando necessiteragrave dieffettuare i controlli delle reti presenti

Rapporto tra consumo e precisione

MetodoConsumoenergetico

PrecisioneNecessita diinternet [net]

Necessita delWiFi

Stato vicinanza a celletelefoniche [State]

Posizione rete internet[Location][Net]

Sigrave

Posizione rete internet amp Wifi Sigrave Sigrave

Stato vicinanza a WiFi Sigrave

Posizione GPS Sigrave

Ad un numero maggiore di stelle corrisponde maggior consumo o precisione (a seconda della colonna)

Tasker adotta delle strategie per limitare il consumo energetico ad esempio in caso di piugrave contesti nelmedesimo profilo dapprima aspetteragrave che si attivino quelli a minor dispendio energetico e solo inseguito controlleragrave gli altri

18 52

Ad esempio per capire se si egrave a casa si puograve creare un profilo con doppio contesto che adopera sia unaposizione Internet [Location Net] che uno stato WiFi near Tasker effettueragrave i controlli WIFi soloquando ci si troveragrave nel quartiere

Variabili predefinite

Sono disponibili alcune variabili predefinite per controllare la localizzazione

Variabili utili per le celle telefoniche

middot CELLID (dinamica monitorata) riporta lattuale cella telefonica se nota Da notare che il Cell near state (cioegrave lo stato legato alla vicinanza ad una specifica cella) puograverimanere attivo (cioegrave indicare che si egrave in un dato contesto di celle) anche se in realtagrave la variabile CELLID riporta che effettuvamente la cella attuale egrave sconosciutanon valida Questo per evitare cheil contesto di stato Cell near state possa cambiare semplicemente perchegrave si egrave interrotto il serviziotelefonico In altre parole

o CELLID riporta sempre la situazione in tempo reale (nota che la stringa riportata iniziacon GSM (eg GSM2002651372) se non cegrave collegamento telefonico riporta comese la variabile non esistesse (cioegrave il nome stesso CELLID) NOTA

o lo stato Cell near state varia solo in risposta a ID di cella validi (non cambia se la cellaattuale diviene non valida [non raggiungibilitagrave telefonica])

Variabili utili per la localizzazione net (Internet)

middot LOCN (dinamica) latitudine e longitudine dellultimo network location fix (localizzazione)

middot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNTMS (dinamica) orario (espresso in secondi) in cui egrave avvenuto lultimo network location

fix Per ottenere quanto tempo egrave trascorso dallultimo fix (cioegrave unindicazione relativa) basta sottrarloallorario attuale che egrave contenuto nella variabile TIMES (ora attuale espressa in secondi trascorsidal Gennaio 1970 notare la S finale TIME e TIMES sono due cose diverse) eg TIMES-LOCNTMS --gt n di secondi trascorsi dallultimo fixPer controllare il successo di un fix vedi piugrave sotto (in pratica salva lorario attuale tenta il fix econfronta lorario salvato con quello dellultimo fix riuscito)

Variabili utili per il GPS

middot LOC (dinamica) latitudine e longitudine dellultimo GPS fix (localizzazione)

middot LOCACC (dinamica) accuratezza in metri dellultimo GPS fix

middot LOCALT (dinamica) altezza in metri dellultimo GPS fix riporta 0 se non egrave disponibile

middot LOCSPD (dinamica) velocitagrave (metri al secondo) dellultimo GPS fix riporta 0 se non egravedisponibile

middot LOCTMS (dinamica) orario (espresso in secondi) dellultimo GPS fix Per calcolare quanti secondi sono passati dallultimo fix vedi la spiegazione giagrave fatta per la variabile

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 7: Tasker Android

7 52

cioegrave se vogliamo far scattare il tutto

middot alla partenza di un programma (Application) egrave possibile scegliere uno specifico programma sceglierlitutti magari specificando eccezioni (parmetro opzionale not)

middot ad una certa ora o giorno (Time Day)

middot luogo (Location) identificato per mezzo del GPSWificella telefonica

middot condizioni durature (State) per cui possibile specificare cosa fare allinizio ed anche al termine dellacondizione eg attivazione del blutetooth inserimento dellauricolare

middot eventi istantanei di breve durata (Event) cosigrave brevi che non esiste una gestione di inizio e fine attivitagravema solo unazione da applicare in corrispondenza dellevento

Possibilitagrave di

middot creazione profili

middot notifiche in tray

middot widget clickabili (potendo scegliere licona tra le 200 x 22 set di icone disponibili)

middot compiti timer dipendenti

middot clickabel shortcuts sono piugrave limitati di un widget ma possono essere usati in altri contesti (eg neifolder)

RICAPITOLANDO

I progammi di Tasker sono definiti da

middot Contesti (anche multiplicontemporaneamente) che rappresentano gli eventicondizioni che attivano undeterminato task i contesti sono definiti da

o Stati Airplane Mode Bluetooth Connected Calendar Entry Docked (AnyDeskCar)Headset Plugged (AnyMicNo Mic) Incoming Call Keyboard Out Light Level MediaButton Missed Call Mobile Network (Any2G3G) Orientation (Face Up etc) Power AnyACUSB Proximity Sensor Signal Strength Unread Text Variable Value Wifi Network

8 52

Wifi Nearo Eventi sono una 50ina suddivisi in categorie alcuni dispongono di parametri aggiuntivi (eg

numerici o se devono poi trasmettere il segnale ad altri programmi)sect DateTime Alarm Clock Alarm Done Date Set TimeDate Set Timezone Setsect Display OffOnUnlockedsect File File ClosedDeletedModifiedMovedOpenedAttributes Changedsect Hardware Camera Button Search Button Long-Press Card MountedRemoved

Unmountedsect Misc Gesture possono essere registrate non serve un pulsante di inizio per la

attivazione delle gesture basta il contestosect Phone Missed Call Phone IdleOffhookRinging Received Text SMS Send Success

Failuresect Power Battery ChangedFullLowOverheatingsect System Device Boot Device Shutdown Device Storage Low Locale Changed New

RemovedUpdated Package Wallpaper Changedsect UI Button Gadget Clicked New Window Notification Notification Clicked Zoom

Clicksect Variables Variable ClearedSetsect 3rd Party Email Received (K9) Gentle Alarm Kaloer Clock OpenWatch Reddit

Notify Screebl Widget Locker (LockedUnlockedHidden)

middot Task sono insiemi di azioni (in realtagrave comprendono actions [icona fulmine] e settings [icona ruotadentata]) che possono essere da eseguire in successione oppure scegliendone una un menu da cuiscegliere una singola attivitagrave Se si intende ripetere le stesse azioni in condizioni diverse (ad esempioattivare il GPS amp alzare luminositagrave display quando parte GMaps oppure la macchina fotografica per iltagging) conviene attribuire un nome al task (che comprende le azioni che ci interessano) ed usarlo poiquante volte vogliamo nei diversi contesti (per definire task con nome basta premere il pulsante new)Le azioni disponibili sono 190 divise in 14 categorie

o ogni azione dispone di un campo if per parametri condizionali necessari per eseguire lazione o in alcune (eg Applicazioni) esiste un parametro not che permette di specificare condizioni

negativeeccezioni

NOTA IMPORTANTE le azioni che rientrano nei cosiddetti settings (licona egrave una ruota dentata) sevengono modificate nellesecuzione di un profilo al termine di esso vengono rimesse come erano prima(esempio screen brightness ) in automatico da Tasker

Task disponibili

middot Alert Flash Notify LEDSoundVibrate Cancel Notification Popup TimedWithTaskIconsWithTaskNames Torch Vibrate Vibrate Pattern

middot App Calendar Insert Go Home Kill App Load App Open Map (StreetViewNavigate)

middot Audio AlarmCallDTMFMediaNotificationRingerSystem Volume Haptic Feedback ToggleMicrophone Mute Notification Pulse NotificationRinger Vibrate Silent Mode Speakerphone SoundEffects toggle

middot Dialog 28 System Settings dialogs

middot Display Auto-Brightness Close System Dialogs Keyguard Keyguard Pattern Display BrightnessDisplay Off Timeout Display Rotation Set Wallpaper Stay On Status Bar (expandcollapse)

middot Encrypt (not in market version) FileDirectory EncryptDecryptEnterClear Passphrase

middot File Browse Files Directory CreateDeleteMove File CopyDeleteMoveOpen Write To File ReadLine Read Paragraph ZipUnzip File

middot Input Button Dpad Type (root only) Input Method Select Soft Keyboard (show)

middot Media Media Button Events (grab) Media Player Control Music FileDir PlayForwardBackStopPhotoSeriesTimeSeries Record Audio Record Audio Stop Ringtone Scan Card

middot Misc (Broadcast) Action Intent Component Intent Get Location GPS Set (lt23 or Cyanogensubmod) Run (ASE) Script Say Say To File Shut Up Search For Set Clipboard Reboot (rootonly) Set CPU (root only) Set Timezone

middot Network Airplane Mode Autosync Bluetooth Bluetooth ID Compose Email Browse URL HTTP

9 52

GET HTTP POST Mobile Data (onoff) Mobile Data 2G3G (Cyanogen only) USB Tether WiFi(settoggle) Wifi DisconnectReassociateReconnect Wifi Sleep Wifi Tether Wimax (settoggle)

middot Phone Call Call Log Call BlockDivertRevert Compose MMSSMS (Templated) Contacts EndCall Radio Send SMS Send Data SMS Silence Ringer Take Call

middot Tasker Change Icon Set If End If Goto Action Perform Task Profile Toggle Query Action SetWidget Icon Set Widget Label Stop Wait Wait Until

middot Variables SetClearIncDecQueryRandomizeSplitJoinList

middot Zoom Element Position Size State Visibility Text Size Text Image Text Colour Image Alpha

middot 3rd Party Android Notifier Astrid BeyondPod Due Today JuiceDefender DataToggle GentleAlarm NewsRob OfficeTalk SleepBot SMS Backup+ TeslaLED WidgetLocker

Variabili built-in utilizzabiliLe seguenti sono variabili predefinite utilizzabili nei nostri taskAirplane Mode Status Battery Level Bluetooth Status Brightness Called NameNumber CPUFrequencyGovernor DurationTimeDate (Out) Clipboard Contents Date Display Timeout Day of MonthWeek Free Memory GPS Status HTTP ResponseData Keyguard Status Email FromCcSubjectDateTime Light Level LocationAccuracyAltitudeProviderSpeedFix Time Music Track Profiles ActiveProfiles Enabled Screen State Text Sender AddressNameBodyDateSubjectTime Cell IDSignalStrengthServiceState Silent Mode Task Time in QueueLast Caller NameNumberDateTime (In) LastApplication Last Photo Muted Notification Title Phone Number Roaming Speakerphone TasksRunning Telephone Network Operator Time Time Seconds Uptime Seconds Speech VolumeLevel AlarmCallDTMFMediaNotificationRingerSystem WiFi Status Wimax Status Window Label

Indirizzi utili

middot Wiki con vari profili di esempio httptaskerwikidotcom

middot Esempio in inglese di semplice applicazione passo-passo httplifehackercom5599116how-to-turn-your-android-phone-into-a-fully+automated-superphone

middot Thread lungo su forum httpwwwdroidforumsnetforumdroid-applications66195-what-have-you-done-taskerhtml

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

10 52

Editing

Il programma viene editato tramite un interfaccia visuale non essendo disponibile alcun editor esterno (daPC) nonostante sia possibile esportare i task in formato XML (peraltro piuttosto complicato da capire conun apparente caos nellordine delle singole istruzioni)

Innanzitutto dalle impostazioni (tasto hardware Menu -gt preferences -gt tab UI) egrave possibile

middot Selezionare una modalitagrave di interfaccia semplificata (beginner mode) o completa francamente consiglioquestultima tanto il programma rimane complesso da utilizzare e quindi tanto vale avere in vista tuttele opzioni disponibili

middot Specificare che tipo di azione debba avvenire quando in fase di editing si clicka (brevemente o a lungo)su un singolo comando di un task egrave possibile scegliere tra

o nienteo cancellazione (delete) del comandoo editing dello stessoo options (opzioni contestuali)

Da parte mia consiglio click breve -gt editing click lungo -gt options

middot Se impostato come sopra clickando a lungo su un comando di un task appariragrave un menu contestualeche permetteragrave operazioni di cutcopypaste del comando (per spostarlocopiarlo) oppure Insert action

per aggiungere un nuovo comando al di sopra di quello clickato (altrimenti clickando sul pulsante

il nuovocomando viene sempre inserito in fondo)

EDITARE UN TASKLaccesso allediting di un tasko lo si fa

middot Clickando su un elemento della lista di task oppure sul pulsante per creare uno nuovoPer visualizzare lelenco dei task occorre attivare il tab tasks premendo sulla scritta Tasks presente inalto (alla destra di quella Profiles) [NOTA nella figura sottostante viene indicato il pulsante da premere per attivare il tab task quellomostrato egrave perograve lelenco profili non dei tasks]

middot Clickando sul task associato ad un profilo Nellelenco dei profili (mostrato premendo sulla scrittaProfiles in alto a sinistra) vi egrave lelenco dei profili definiti clickando su uno di essi sulla destra

11 52

appariranno i task ad esso associati (egrave premendo su uno di questi che si passa direttamente allediting

di quel task)

Ecco una parte della schermata di editing

middot Il pulsante serve ad aggiungere un nuovo comando in fondo al programma

middot Il pulsante permette di specificare alcune proprietagrave del task

o come comportarsi nel caso un task venga eseguito mentre egrave giagrave in esecuzione uno identico (sipuograve scegliere di farli funzionare entrambi oppure di far sopravvivere quello giagrave in esecuzioneoppure la nuova istanza)

o se mantenere il programma attivo anche a schermo spento utile per evitare che una lungaelaborazione si interrompa a causa della modalitagrave automatica a basso consumo di Android(daltra parte espone a rischi di consumo di batteria elevato ad esempio se il programma perun bug continua a girare indefinitivamente)

middot il pulsante permette di scegliere unicona da associare al task tale icona appare nellelenco deitask ed egrave obbligatoria se si vuole creare un widget dal task

A seconda di come avete specificato su preferenze (vedi sopra) clickando su un comando egrave possibile

12 52

modificarne i parametri in una schermata simile a questa [ad esser precisi questa egrave ledit di un evento malo schema egrave identico]

Pulsanti presenti

middot Accetta le modifiche al comando

middot Lascia perdere le modifiche al comando

middot Mostra un breve testo di aiuto sul comando (molto utile La prima volta chiede se si vuole

scaricare una volta per tutte la guida di tutti i comandi sulla scheda SDcosa che raccomando)

Sempre da questa schermata egrave possibile sostituire un comando con un altro premendo sulla riga diintestazione del comando (che nella figura ho indicato con una piccola freccia gialla)

Drag amp drop sui comandiAlcune operazioni di editing sono possibili clickando sulla estrema destra della linea di un comando(dove in genere vi egrave una piccola icona [vedi freccia gialla nella figura sottostante])

A questo punto egrave possibile trascinarlo

middot sugiugrave per spostarlo in altri punti del programma

middot oppure portandolo completamente in basso (dove nel frattempo egrave apparsa licona di un cestino) eliminarlo

13 52

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

14 52

Linguaggio

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Subroutine (Perform task)Questo comando permette di richiamare un task dallinterno di un altro task in pratica permette di chiamareuna subroutine

Il problema principale nellutilizzo egrave la gestione del rapporto di esecuzione tra task chiamante ed il nuovotask invocato infatti si puograve volere aspettare che il nuovo task abbia terminato la propria esecuzione oppureeseguire i due task contemporaneamente (ad esempio se il nuovo task non crea nulla di necessario al taskchiamante)

Questi rapporti sono regolati dalla proprietagrave Stop e dalla prioritagrave (Priority)

Possibilitagrave

middot task chiamante ha prioritagrave piugrave bassa --gt sorta di richiamo subroutine

middot I nomi dei task iniziano con la lettera maiuscola ricordatene se pensi di eseguirne unomanualmente con il comando Esegui task

middot Quando si fa partire un task con il pulsante Test gli viene assegnata unaltissima prioritagrave percui rischia di incasinare i funzionamenti delle proprietagrave in eventuali task secondari al limite conviene farpartire il task che si vuole httpgroupsgooglecomgrouptaskerbrowse_threadthreadc69984d07da62852f229345b40070597lnk=gstampq=priorityf229345b40070597

middot Quando si lancia un task da un altro task (con lazione Task launch) il parametro STOP indica seoccorra aspettare che il task richiamato debba finire prima di poter continuare la cosa non egrave da pocosoprattutto se il resto dello script lavora sui dati creati dal task richiamato inizialmente In realtagrave contanoanche le prioritagrave nel comportamento vedi sezione apposta

PROBLEMIIn realtagrave ci sono problemi nella gestione attuale (per cui lautore sta lavorando sulla prossima versione) percui al momento non riesco a fare in modo che sia atteso il termine del nuovo task prima di proseguiredandogli prioritagrave piugrave alta non cambia nulla mettendo la proprietagrave Stop lo scripting si ferma ligrave per sempre

Al momento quindi nelle routine piugrave adoperate come subroutine come ultima istruzione setto una variabileomonima alla routine+END (xxxEND)=on per essere sicuri che la routine abbia finito devo prima dichiamare il task settare la variabile xxxEND ad un valore diverso da on chiamare il task e nella istruzionesuccessiva mettere un While Until xxxEND=onun po sporco ma

Anche con tale variabile sentinella ottengo che dica solo la vrase Save settings in esecuzione ma nonarriva alla fine

Temo sia un bug

(Task A)Perform Task BSay A ended

(Task B)Say B startedSET few variablesSay B ended

15 52

Stop Priority A Priority B Resulting say No 5 0 A ended B Started B ended No 5 5 A ended B Started B ended No 5 6 A ended B Started B ended No 5 10 B started A ended B endedYes 5 10 B started B ended (no A ended script stop [disappear Kill App]Yes 5 5 B started B ended (no A ended script stop [disappear Kill App]Yes 5 0 B started B ended (no A ended script stop [disappear Kill App]

Maggiori dettagli e consigli

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread4bfc0c42513b899f38e9d290cc696468

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread1d072ff37368d8aa3eac641b90f07d03

Proposta per riuscire a fare in modo che un task aspetti il completamento dellaltroI just used the tasks that you had typed with only one change When you use the Perform Task in Task 1 I had Stop OFF Your tasks work fine this way (unless you are trying to do other things you have not mentioned) If this is the case you should probably make the Priority higher say 10 then it will do everything in the second task before continuing with the first task If you are still having a problem you could use a variable to tell Task 1 when it should continue Task T1 Varible Set WAITING to 1 Popup Title T1 Text Text 1 Perform Task Name T2 Stop OFF Wait Until WAITING Set Popup Title T3 Text Text 3 Task T2 Popup Title T2 Text Text 2 Varible Clear WAITING

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Prioritagrave

La prioritagrave di un task dipende da molti fattori

middot Un task avviato con il pulsante Test delleditor ha una super-prioritagrave

middot I task shortcutwidget hanno la prioritagrave impostata nel menu di Tasker Prefs Action setting (globalsetting)

middot Nel caso di Perform task dipende dalla proprietagrave di questa action

middot Vi egrave anche un qualcosa che riguarda i profili

middot Se devi mettere una prioritagrave alta al max adopera 9 ( e non 10 sembra fare casini)

In realtagrave la cosa egrave piugrave complicata vedi httpgroupsgooglecomgrouptaskerbrowse_threadthreada7c32914ae697898253da51e02b56ac3lnk=gstampq=priority253da51e02b56ac3

Created with the Personal Edition of HelpNDoc Free help authoring environment

LocalizzazioneE un sistema un po complesso da far funzionare correttamente

Tasker egrave in grado di sfruttare diversi sistemi di localizzazione geografica

middot Celle telefoniche molto impreciso (anche di km) resiste abbastanza anche al chiuso non comportaconsumo in piugrave rispetto al normale utilizzo telefonico

16 52

middot Rete Internet [net] forse sfrutta tipo una sorta di IP o simili

middot Rete WiFi (amp Internet) si basa su mappe di distribuzione dei punti di accesso WiFi (mappeconsultabile tramite Google) sapendo che una data rete WiFi si trova in un specifico contestogeografico risale alla localizzazione attuale Poichegrave le mappe sono online egrave necessario laccesso adInternet (motivo per cui la localizzazione WiFi richiede anche laccesso alla rete Internet [anche sechiaramente il WiFI in segrave ne egrave indipendente come rete])

middot GPS molto preciso (anche nellordine delle decine di metri) difficilmente funziona al chiuso consumaparecchia batteria

Il permesso di adoperare la localizzazione legata alle reti (telefoniche o WiFi) oppure al GPS egravecontrollata da specifiche impostazioni in Android da notare che sono una cosa diversa dalla sempliceattivazione della rete WiFi scambio dati (ad esempio per la localizzazione con WiFi occorre che siaattivo il modulo WiFi del cellulare ma ANCHE abilitatapermessa la localizzazione tramite reti) Al momento non credo sia possibile cambiare il permesso di localizzazione tramite Tasker suppongo siaun fatto di sicurezzaprivacy (per evitare che un programma ci possa tracciare di nascosto) daltra partetenerlo sempre acceso non credo comporti nessun consumo in piugrave in quanto costituisce una sempliceautorizzazione allutilizzo dei dati per la localizzazione ma in segrave non attiva nessuna rete o dispositivo (cosache eventualmente dovragrave essere fatta a parte)

Chiaramente egrave importante la frequenza con cui vengono controllate le fonti della attuale localizzazioneIn genere esistono

middot una frequenza di controllo con dispositivo acceso (display on) specifica per ogni modalitagrave dilocalizzazione

middot una frequenza di controllo a dispositivo spento (display off) comune a tutte le fonti per minimizzare iltempo di attivazione del dispositivo per effetuare i controlli (nel menu Display Off Settings egrave possibileimpostare sia la frequenza che la massima durata dei controlli)

Il servizio di localizzazione presuppone di trovarsi sempre nel punto ricavato dallultima localizzazione

Questi sistemi vengono sfruttati per 2 scopi

middot Conoscere esattamente il punto dove ci si trova (possibilmente al metro) ad esempio per dire dove citroviamo per farci raggiungere (positionlocation)

Per questo scopo si possono adoperare

o Rete internet [net] consuma poco (poco in piugrave rispetto al normale uso telefonico purchegrave siadisponibile un network) ma la precisione varia enormemente e richiede sia il collegamento allarete (network internet suppongo) che quello telefonico (phone service)Per impostarla occorre creare un location context e disattivare il GPS egrave importante impostareun raggio ampio intorno alla posizione di interesse (la frequenza di controllo egrave regolabile sia adisplay spento che acceso)

o Rete WiFi E Internet [net] maggiore consumo precisione molto variabile (buona in areepopolose) necessita sia di rete Internet (net) che WIFiPer impostarlo occorre creare un location context disattivare il GPS ed attivare il WiFi perottenere una maggiore precisionePer registrarlo occorre recarsi sul posto almeno 1 volta

o GPS alto consumo alta precisione allaperto molti problemi al chiusoPer impostarlo occorre creare un location context e deselezionare NetLa frequenza di controllo a dispositivo acceso egrave impostabile come pure quella del dispositivospento (in comune con altre fonti di localizzazione) Si puograve impostare anche il GPS Timeout che specifica quanto tempo debba continuare iltentativo di ottenere una localizzazione GPS (chiaramente questo influenza sia la capacitagrave distabilire una localizzazione ma anche il consumo della batteria)Poichegrave il controllo della posizione GPS non egrave continuo (ma ad intervalli) e dato che al chiusonon riesce a stabilire la posizione se dalla posizione A (localizzata) si passa nella posizione B

17 52

al chiuso (no segnale no localizzazione) il dispositivo faragrave riferimento allultima posizionestabilita (fix) per cui crederagrave di essere ancora in A (cambieragrave idea quando usciragrave allaperto edavverragrave un fix) NOTA sono 2 cose distintesect la predisposizione dellhardware (GPS on con Tasker oppure premere il pulsante

nella tray)sect e lutilizzo effettivo per localizzazione (che avviene con GetLocation in Tasker

oppure facendo partire un programma che usa il GPS) solo in questo secondopassaggio appariragrave licona lampeggiante (e poi stabile) nella tray chiaramente perograve nonpotragrave apparire mai se lhardware egrave scollegato

middot Sapere in quale AREA (piugrave vasta) ci si trova eg per fare qualcosa se ci troviamo in ambito casalingo(status)

Per questo si possono adoperare

o Stato di vicinanza a celle telefoniche consuma pochissimo (pari al normale funzionamentotelefonico) molto impreciso (ma resiste abbastanza bene al chiuso) Laggiornamento avviene secondo un frequenza regolabile quando il display egrave spento mentre adisplay acceso laggiornamento avviene appena la cella egrave visibile (as soon as the tower isvisible)Per adoperarlo occorre impostare uno state context con Cell near -gt Update mentre ci simuove nellarea di interesse (dunque egrave necessario recarcisivi almeno una volta)

o Stato di vicinanza a reti wifi consuma abbastanza (ma meno del GPS) buona la precisionenecessita di un accesso WIFi nei paraggi funziona anche al chiusoPer adoperarlo occorre impostare uno state context con WiFi near ed imposta il SSID(identificatore di rete) del miglior segnale WiFi che vuoi utilizzareidentificareQuesta funzione fa regolari controlli delle reti WiFi e scatta lattivazione se riconosce un puntodi accesso tra quelli impostati da notare che non serve collegarsi alla rete WiFi basta che siaricevibile (motivo per cui si puograve anche sfruttare la rete magari piugrave forte del vicino) Se si vuol evitare di mantenere acceso il WiFi in continuazione basta attivare la casella dicontrollo WiFi Toggle in questo modo verragrave attivato da Tasker solo quando necessiteragrave dieffettuare i controlli delle reti presenti

Rapporto tra consumo e precisione

MetodoConsumoenergetico

PrecisioneNecessita diinternet [net]

Necessita delWiFi

Stato vicinanza a celletelefoniche [State]

Posizione rete internet[Location][Net]

Sigrave

Posizione rete internet amp Wifi Sigrave Sigrave

Stato vicinanza a WiFi Sigrave

Posizione GPS Sigrave

Ad un numero maggiore di stelle corrisponde maggior consumo o precisione (a seconda della colonna)

Tasker adotta delle strategie per limitare il consumo energetico ad esempio in caso di piugrave contesti nelmedesimo profilo dapprima aspetteragrave che si attivino quelli a minor dispendio energetico e solo inseguito controlleragrave gli altri

18 52

Ad esempio per capire se si egrave a casa si puograve creare un profilo con doppio contesto che adopera sia unaposizione Internet [Location Net] che uno stato WiFi near Tasker effettueragrave i controlli WIFi soloquando ci si troveragrave nel quartiere

Variabili predefinite

Sono disponibili alcune variabili predefinite per controllare la localizzazione

Variabili utili per le celle telefoniche

middot CELLID (dinamica monitorata) riporta lattuale cella telefonica se nota Da notare che il Cell near state (cioegrave lo stato legato alla vicinanza ad una specifica cella) puograverimanere attivo (cioegrave indicare che si egrave in un dato contesto di celle) anche se in realtagrave la variabile CELLID riporta che effettuvamente la cella attuale egrave sconosciutanon valida Questo per evitare cheil contesto di stato Cell near state possa cambiare semplicemente perchegrave si egrave interrotto il serviziotelefonico In altre parole

o CELLID riporta sempre la situazione in tempo reale (nota che la stringa riportata iniziacon GSM (eg GSM2002651372) se non cegrave collegamento telefonico riporta comese la variabile non esistesse (cioegrave il nome stesso CELLID) NOTA

o lo stato Cell near state varia solo in risposta a ID di cella validi (non cambia se la cellaattuale diviene non valida [non raggiungibilitagrave telefonica])

Variabili utili per la localizzazione net (Internet)

middot LOCN (dinamica) latitudine e longitudine dellultimo network location fix (localizzazione)

middot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNTMS (dinamica) orario (espresso in secondi) in cui egrave avvenuto lultimo network location

fix Per ottenere quanto tempo egrave trascorso dallultimo fix (cioegrave unindicazione relativa) basta sottrarloallorario attuale che egrave contenuto nella variabile TIMES (ora attuale espressa in secondi trascorsidal Gennaio 1970 notare la S finale TIME e TIMES sono due cose diverse) eg TIMES-LOCNTMS --gt n di secondi trascorsi dallultimo fixPer controllare il successo di un fix vedi piugrave sotto (in pratica salva lorario attuale tenta il fix econfronta lorario salvato con quello dellultimo fix riuscito)

Variabili utili per il GPS

middot LOC (dinamica) latitudine e longitudine dellultimo GPS fix (localizzazione)

middot LOCACC (dinamica) accuratezza in metri dellultimo GPS fix

middot LOCALT (dinamica) altezza in metri dellultimo GPS fix riporta 0 se non egrave disponibile

middot LOCSPD (dinamica) velocitagrave (metri al secondo) dellultimo GPS fix riporta 0 se non egravedisponibile

middot LOCTMS (dinamica) orario (espresso in secondi) dellultimo GPS fix Per calcolare quanti secondi sono passati dallultimo fix vedi la spiegazione giagrave fatta per la variabile

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 8: Tasker Android

8 52

Wifi Nearo Eventi sono una 50ina suddivisi in categorie alcuni dispongono di parametri aggiuntivi (eg

numerici o se devono poi trasmettere il segnale ad altri programmi)sect DateTime Alarm Clock Alarm Done Date Set TimeDate Set Timezone Setsect Display OffOnUnlockedsect File File ClosedDeletedModifiedMovedOpenedAttributes Changedsect Hardware Camera Button Search Button Long-Press Card MountedRemoved

Unmountedsect Misc Gesture possono essere registrate non serve un pulsante di inizio per la

attivazione delle gesture basta il contestosect Phone Missed Call Phone IdleOffhookRinging Received Text SMS Send Success

Failuresect Power Battery ChangedFullLowOverheatingsect System Device Boot Device Shutdown Device Storage Low Locale Changed New

RemovedUpdated Package Wallpaper Changedsect UI Button Gadget Clicked New Window Notification Notification Clicked Zoom

Clicksect Variables Variable ClearedSetsect 3rd Party Email Received (K9) Gentle Alarm Kaloer Clock OpenWatch Reddit

Notify Screebl Widget Locker (LockedUnlockedHidden)

middot Task sono insiemi di azioni (in realtagrave comprendono actions [icona fulmine] e settings [icona ruotadentata]) che possono essere da eseguire in successione oppure scegliendone una un menu da cuiscegliere una singola attivitagrave Se si intende ripetere le stesse azioni in condizioni diverse (ad esempioattivare il GPS amp alzare luminositagrave display quando parte GMaps oppure la macchina fotografica per iltagging) conviene attribuire un nome al task (che comprende le azioni che ci interessano) ed usarlo poiquante volte vogliamo nei diversi contesti (per definire task con nome basta premere il pulsante new)Le azioni disponibili sono 190 divise in 14 categorie

o ogni azione dispone di un campo if per parametri condizionali necessari per eseguire lazione o in alcune (eg Applicazioni) esiste un parametro not che permette di specificare condizioni

negativeeccezioni

NOTA IMPORTANTE le azioni che rientrano nei cosiddetti settings (licona egrave una ruota dentata) sevengono modificate nellesecuzione di un profilo al termine di esso vengono rimesse come erano prima(esempio screen brightness ) in automatico da Tasker

Task disponibili

middot Alert Flash Notify LEDSoundVibrate Cancel Notification Popup TimedWithTaskIconsWithTaskNames Torch Vibrate Vibrate Pattern

middot App Calendar Insert Go Home Kill App Load App Open Map (StreetViewNavigate)

middot Audio AlarmCallDTMFMediaNotificationRingerSystem Volume Haptic Feedback ToggleMicrophone Mute Notification Pulse NotificationRinger Vibrate Silent Mode Speakerphone SoundEffects toggle

middot Dialog 28 System Settings dialogs

middot Display Auto-Brightness Close System Dialogs Keyguard Keyguard Pattern Display BrightnessDisplay Off Timeout Display Rotation Set Wallpaper Stay On Status Bar (expandcollapse)

middot Encrypt (not in market version) FileDirectory EncryptDecryptEnterClear Passphrase

middot File Browse Files Directory CreateDeleteMove File CopyDeleteMoveOpen Write To File ReadLine Read Paragraph ZipUnzip File

middot Input Button Dpad Type (root only) Input Method Select Soft Keyboard (show)

middot Media Media Button Events (grab) Media Player Control Music FileDir PlayForwardBackStopPhotoSeriesTimeSeries Record Audio Record Audio Stop Ringtone Scan Card

middot Misc (Broadcast) Action Intent Component Intent Get Location GPS Set (lt23 or Cyanogensubmod) Run (ASE) Script Say Say To File Shut Up Search For Set Clipboard Reboot (rootonly) Set CPU (root only) Set Timezone

middot Network Airplane Mode Autosync Bluetooth Bluetooth ID Compose Email Browse URL HTTP

9 52

GET HTTP POST Mobile Data (onoff) Mobile Data 2G3G (Cyanogen only) USB Tether WiFi(settoggle) Wifi DisconnectReassociateReconnect Wifi Sleep Wifi Tether Wimax (settoggle)

middot Phone Call Call Log Call BlockDivertRevert Compose MMSSMS (Templated) Contacts EndCall Radio Send SMS Send Data SMS Silence Ringer Take Call

middot Tasker Change Icon Set If End If Goto Action Perform Task Profile Toggle Query Action SetWidget Icon Set Widget Label Stop Wait Wait Until

middot Variables SetClearIncDecQueryRandomizeSplitJoinList

middot Zoom Element Position Size State Visibility Text Size Text Image Text Colour Image Alpha

middot 3rd Party Android Notifier Astrid BeyondPod Due Today JuiceDefender DataToggle GentleAlarm NewsRob OfficeTalk SleepBot SMS Backup+ TeslaLED WidgetLocker

Variabili built-in utilizzabiliLe seguenti sono variabili predefinite utilizzabili nei nostri taskAirplane Mode Status Battery Level Bluetooth Status Brightness Called NameNumber CPUFrequencyGovernor DurationTimeDate (Out) Clipboard Contents Date Display Timeout Day of MonthWeek Free Memory GPS Status HTTP ResponseData Keyguard Status Email FromCcSubjectDateTime Light Level LocationAccuracyAltitudeProviderSpeedFix Time Music Track Profiles ActiveProfiles Enabled Screen State Text Sender AddressNameBodyDateSubjectTime Cell IDSignalStrengthServiceState Silent Mode Task Time in QueueLast Caller NameNumberDateTime (In) LastApplication Last Photo Muted Notification Title Phone Number Roaming Speakerphone TasksRunning Telephone Network Operator Time Time Seconds Uptime Seconds Speech VolumeLevel AlarmCallDTMFMediaNotificationRingerSystem WiFi Status Wimax Status Window Label

Indirizzi utili

middot Wiki con vari profili di esempio httptaskerwikidotcom

middot Esempio in inglese di semplice applicazione passo-passo httplifehackercom5599116how-to-turn-your-android-phone-into-a-fully+automated-superphone

middot Thread lungo su forum httpwwwdroidforumsnetforumdroid-applications66195-what-have-you-done-taskerhtml

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

10 52

Editing

Il programma viene editato tramite un interfaccia visuale non essendo disponibile alcun editor esterno (daPC) nonostante sia possibile esportare i task in formato XML (peraltro piuttosto complicato da capire conun apparente caos nellordine delle singole istruzioni)

Innanzitutto dalle impostazioni (tasto hardware Menu -gt preferences -gt tab UI) egrave possibile

middot Selezionare una modalitagrave di interfaccia semplificata (beginner mode) o completa francamente consiglioquestultima tanto il programma rimane complesso da utilizzare e quindi tanto vale avere in vista tuttele opzioni disponibili

middot Specificare che tipo di azione debba avvenire quando in fase di editing si clicka (brevemente o a lungo)su un singolo comando di un task egrave possibile scegliere tra

o nienteo cancellazione (delete) del comandoo editing dello stessoo options (opzioni contestuali)

Da parte mia consiglio click breve -gt editing click lungo -gt options

middot Se impostato come sopra clickando a lungo su un comando di un task appariragrave un menu contestualeche permetteragrave operazioni di cutcopypaste del comando (per spostarlocopiarlo) oppure Insert action

per aggiungere un nuovo comando al di sopra di quello clickato (altrimenti clickando sul pulsante

il nuovocomando viene sempre inserito in fondo)

EDITARE UN TASKLaccesso allediting di un tasko lo si fa

middot Clickando su un elemento della lista di task oppure sul pulsante per creare uno nuovoPer visualizzare lelenco dei task occorre attivare il tab tasks premendo sulla scritta Tasks presente inalto (alla destra di quella Profiles) [NOTA nella figura sottostante viene indicato il pulsante da premere per attivare il tab task quellomostrato egrave perograve lelenco profili non dei tasks]

middot Clickando sul task associato ad un profilo Nellelenco dei profili (mostrato premendo sulla scrittaProfiles in alto a sinistra) vi egrave lelenco dei profili definiti clickando su uno di essi sulla destra

11 52

appariranno i task ad esso associati (egrave premendo su uno di questi che si passa direttamente allediting

di quel task)

Ecco una parte della schermata di editing

middot Il pulsante serve ad aggiungere un nuovo comando in fondo al programma

middot Il pulsante permette di specificare alcune proprietagrave del task

o come comportarsi nel caso un task venga eseguito mentre egrave giagrave in esecuzione uno identico (sipuograve scegliere di farli funzionare entrambi oppure di far sopravvivere quello giagrave in esecuzioneoppure la nuova istanza)

o se mantenere il programma attivo anche a schermo spento utile per evitare che una lungaelaborazione si interrompa a causa della modalitagrave automatica a basso consumo di Android(daltra parte espone a rischi di consumo di batteria elevato ad esempio se il programma perun bug continua a girare indefinitivamente)

middot il pulsante permette di scegliere unicona da associare al task tale icona appare nellelenco deitask ed egrave obbligatoria se si vuole creare un widget dal task

A seconda di come avete specificato su preferenze (vedi sopra) clickando su un comando egrave possibile

12 52

modificarne i parametri in una schermata simile a questa [ad esser precisi questa egrave ledit di un evento malo schema egrave identico]

Pulsanti presenti

middot Accetta le modifiche al comando

middot Lascia perdere le modifiche al comando

middot Mostra un breve testo di aiuto sul comando (molto utile La prima volta chiede se si vuole

scaricare una volta per tutte la guida di tutti i comandi sulla scheda SDcosa che raccomando)

Sempre da questa schermata egrave possibile sostituire un comando con un altro premendo sulla riga diintestazione del comando (che nella figura ho indicato con una piccola freccia gialla)

Drag amp drop sui comandiAlcune operazioni di editing sono possibili clickando sulla estrema destra della linea di un comando(dove in genere vi egrave una piccola icona [vedi freccia gialla nella figura sottostante])

A questo punto egrave possibile trascinarlo

middot sugiugrave per spostarlo in altri punti del programma

middot oppure portandolo completamente in basso (dove nel frattempo egrave apparsa licona di un cestino) eliminarlo

13 52

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

14 52

Linguaggio

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Subroutine (Perform task)Questo comando permette di richiamare un task dallinterno di un altro task in pratica permette di chiamareuna subroutine

Il problema principale nellutilizzo egrave la gestione del rapporto di esecuzione tra task chiamante ed il nuovotask invocato infatti si puograve volere aspettare che il nuovo task abbia terminato la propria esecuzione oppureeseguire i due task contemporaneamente (ad esempio se il nuovo task non crea nulla di necessario al taskchiamante)

Questi rapporti sono regolati dalla proprietagrave Stop e dalla prioritagrave (Priority)

Possibilitagrave

middot task chiamante ha prioritagrave piugrave bassa --gt sorta di richiamo subroutine

middot I nomi dei task iniziano con la lettera maiuscola ricordatene se pensi di eseguirne unomanualmente con il comando Esegui task

middot Quando si fa partire un task con il pulsante Test gli viene assegnata unaltissima prioritagrave percui rischia di incasinare i funzionamenti delle proprietagrave in eventuali task secondari al limite conviene farpartire il task che si vuole httpgroupsgooglecomgrouptaskerbrowse_threadthreadc69984d07da62852f229345b40070597lnk=gstampq=priorityf229345b40070597

middot Quando si lancia un task da un altro task (con lazione Task launch) il parametro STOP indica seoccorra aspettare che il task richiamato debba finire prima di poter continuare la cosa non egrave da pocosoprattutto se il resto dello script lavora sui dati creati dal task richiamato inizialmente In realtagrave contanoanche le prioritagrave nel comportamento vedi sezione apposta

PROBLEMIIn realtagrave ci sono problemi nella gestione attuale (per cui lautore sta lavorando sulla prossima versione) percui al momento non riesco a fare in modo che sia atteso il termine del nuovo task prima di proseguiredandogli prioritagrave piugrave alta non cambia nulla mettendo la proprietagrave Stop lo scripting si ferma ligrave per sempre

Al momento quindi nelle routine piugrave adoperate come subroutine come ultima istruzione setto una variabileomonima alla routine+END (xxxEND)=on per essere sicuri che la routine abbia finito devo prima dichiamare il task settare la variabile xxxEND ad un valore diverso da on chiamare il task e nella istruzionesuccessiva mettere un While Until xxxEND=onun po sporco ma

Anche con tale variabile sentinella ottengo che dica solo la vrase Save settings in esecuzione ma nonarriva alla fine

Temo sia un bug

(Task A)Perform Task BSay A ended

(Task B)Say B startedSET few variablesSay B ended

15 52

Stop Priority A Priority B Resulting say No 5 0 A ended B Started B ended No 5 5 A ended B Started B ended No 5 6 A ended B Started B ended No 5 10 B started A ended B endedYes 5 10 B started B ended (no A ended script stop [disappear Kill App]Yes 5 5 B started B ended (no A ended script stop [disappear Kill App]Yes 5 0 B started B ended (no A ended script stop [disappear Kill App]

Maggiori dettagli e consigli

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread4bfc0c42513b899f38e9d290cc696468

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread1d072ff37368d8aa3eac641b90f07d03

Proposta per riuscire a fare in modo che un task aspetti il completamento dellaltroI just used the tasks that you had typed with only one change When you use the Perform Task in Task 1 I had Stop OFF Your tasks work fine this way (unless you are trying to do other things you have not mentioned) If this is the case you should probably make the Priority higher say 10 then it will do everything in the second task before continuing with the first task If you are still having a problem you could use a variable to tell Task 1 when it should continue Task T1 Varible Set WAITING to 1 Popup Title T1 Text Text 1 Perform Task Name T2 Stop OFF Wait Until WAITING Set Popup Title T3 Text Text 3 Task T2 Popup Title T2 Text Text 2 Varible Clear WAITING

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Prioritagrave

La prioritagrave di un task dipende da molti fattori

middot Un task avviato con il pulsante Test delleditor ha una super-prioritagrave

middot I task shortcutwidget hanno la prioritagrave impostata nel menu di Tasker Prefs Action setting (globalsetting)

middot Nel caso di Perform task dipende dalla proprietagrave di questa action

middot Vi egrave anche un qualcosa che riguarda i profili

middot Se devi mettere una prioritagrave alta al max adopera 9 ( e non 10 sembra fare casini)

In realtagrave la cosa egrave piugrave complicata vedi httpgroupsgooglecomgrouptaskerbrowse_threadthreada7c32914ae697898253da51e02b56ac3lnk=gstampq=priority253da51e02b56ac3

Created with the Personal Edition of HelpNDoc Free help authoring environment

LocalizzazioneE un sistema un po complesso da far funzionare correttamente

Tasker egrave in grado di sfruttare diversi sistemi di localizzazione geografica

middot Celle telefoniche molto impreciso (anche di km) resiste abbastanza anche al chiuso non comportaconsumo in piugrave rispetto al normale utilizzo telefonico

16 52

middot Rete Internet [net] forse sfrutta tipo una sorta di IP o simili

middot Rete WiFi (amp Internet) si basa su mappe di distribuzione dei punti di accesso WiFi (mappeconsultabile tramite Google) sapendo che una data rete WiFi si trova in un specifico contestogeografico risale alla localizzazione attuale Poichegrave le mappe sono online egrave necessario laccesso adInternet (motivo per cui la localizzazione WiFi richiede anche laccesso alla rete Internet [anche sechiaramente il WiFI in segrave ne egrave indipendente come rete])

middot GPS molto preciso (anche nellordine delle decine di metri) difficilmente funziona al chiuso consumaparecchia batteria

Il permesso di adoperare la localizzazione legata alle reti (telefoniche o WiFi) oppure al GPS egravecontrollata da specifiche impostazioni in Android da notare che sono una cosa diversa dalla sempliceattivazione della rete WiFi scambio dati (ad esempio per la localizzazione con WiFi occorre che siaattivo il modulo WiFi del cellulare ma ANCHE abilitatapermessa la localizzazione tramite reti) Al momento non credo sia possibile cambiare il permesso di localizzazione tramite Tasker suppongo siaun fatto di sicurezzaprivacy (per evitare che un programma ci possa tracciare di nascosto) daltra partetenerlo sempre acceso non credo comporti nessun consumo in piugrave in quanto costituisce una sempliceautorizzazione allutilizzo dei dati per la localizzazione ma in segrave non attiva nessuna rete o dispositivo (cosache eventualmente dovragrave essere fatta a parte)

Chiaramente egrave importante la frequenza con cui vengono controllate le fonti della attuale localizzazioneIn genere esistono

middot una frequenza di controllo con dispositivo acceso (display on) specifica per ogni modalitagrave dilocalizzazione

middot una frequenza di controllo a dispositivo spento (display off) comune a tutte le fonti per minimizzare iltempo di attivazione del dispositivo per effetuare i controlli (nel menu Display Off Settings egrave possibileimpostare sia la frequenza che la massima durata dei controlli)

Il servizio di localizzazione presuppone di trovarsi sempre nel punto ricavato dallultima localizzazione

Questi sistemi vengono sfruttati per 2 scopi

middot Conoscere esattamente il punto dove ci si trova (possibilmente al metro) ad esempio per dire dove citroviamo per farci raggiungere (positionlocation)

Per questo scopo si possono adoperare

o Rete internet [net] consuma poco (poco in piugrave rispetto al normale uso telefonico purchegrave siadisponibile un network) ma la precisione varia enormemente e richiede sia il collegamento allarete (network internet suppongo) che quello telefonico (phone service)Per impostarla occorre creare un location context e disattivare il GPS egrave importante impostareun raggio ampio intorno alla posizione di interesse (la frequenza di controllo egrave regolabile sia adisplay spento che acceso)

o Rete WiFi E Internet [net] maggiore consumo precisione molto variabile (buona in areepopolose) necessita sia di rete Internet (net) che WIFiPer impostarlo occorre creare un location context disattivare il GPS ed attivare il WiFi perottenere una maggiore precisionePer registrarlo occorre recarsi sul posto almeno 1 volta

o GPS alto consumo alta precisione allaperto molti problemi al chiusoPer impostarlo occorre creare un location context e deselezionare NetLa frequenza di controllo a dispositivo acceso egrave impostabile come pure quella del dispositivospento (in comune con altre fonti di localizzazione) Si puograve impostare anche il GPS Timeout che specifica quanto tempo debba continuare iltentativo di ottenere una localizzazione GPS (chiaramente questo influenza sia la capacitagrave distabilire una localizzazione ma anche il consumo della batteria)Poichegrave il controllo della posizione GPS non egrave continuo (ma ad intervalli) e dato che al chiusonon riesce a stabilire la posizione se dalla posizione A (localizzata) si passa nella posizione B

17 52

al chiuso (no segnale no localizzazione) il dispositivo faragrave riferimento allultima posizionestabilita (fix) per cui crederagrave di essere ancora in A (cambieragrave idea quando usciragrave allaperto edavverragrave un fix) NOTA sono 2 cose distintesect la predisposizione dellhardware (GPS on con Tasker oppure premere il pulsante

nella tray)sect e lutilizzo effettivo per localizzazione (che avviene con GetLocation in Tasker

oppure facendo partire un programma che usa il GPS) solo in questo secondopassaggio appariragrave licona lampeggiante (e poi stabile) nella tray chiaramente perograve nonpotragrave apparire mai se lhardware egrave scollegato

middot Sapere in quale AREA (piugrave vasta) ci si trova eg per fare qualcosa se ci troviamo in ambito casalingo(status)

Per questo si possono adoperare

o Stato di vicinanza a celle telefoniche consuma pochissimo (pari al normale funzionamentotelefonico) molto impreciso (ma resiste abbastanza bene al chiuso) Laggiornamento avviene secondo un frequenza regolabile quando il display egrave spento mentre adisplay acceso laggiornamento avviene appena la cella egrave visibile (as soon as the tower isvisible)Per adoperarlo occorre impostare uno state context con Cell near -gt Update mentre ci simuove nellarea di interesse (dunque egrave necessario recarcisivi almeno una volta)

o Stato di vicinanza a reti wifi consuma abbastanza (ma meno del GPS) buona la precisionenecessita di un accesso WIFi nei paraggi funziona anche al chiusoPer adoperarlo occorre impostare uno state context con WiFi near ed imposta il SSID(identificatore di rete) del miglior segnale WiFi che vuoi utilizzareidentificareQuesta funzione fa regolari controlli delle reti WiFi e scatta lattivazione se riconosce un puntodi accesso tra quelli impostati da notare che non serve collegarsi alla rete WiFi basta che siaricevibile (motivo per cui si puograve anche sfruttare la rete magari piugrave forte del vicino) Se si vuol evitare di mantenere acceso il WiFi in continuazione basta attivare la casella dicontrollo WiFi Toggle in questo modo verragrave attivato da Tasker solo quando necessiteragrave dieffettuare i controlli delle reti presenti

Rapporto tra consumo e precisione

MetodoConsumoenergetico

PrecisioneNecessita diinternet [net]

Necessita delWiFi

Stato vicinanza a celletelefoniche [State]

Posizione rete internet[Location][Net]

Sigrave

Posizione rete internet amp Wifi Sigrave Sigrave

Stato vicinanza a WiFi Sigrave

Posizione GPS Sigrave

Ad un numero maggiore di stelle corrisponde maggior consumo o precisione (a seconda della colonna)

Tasker adotta delle strategie per limitare il consumo energetico ad esempio in caso di piugrave contesti nelmedesimo profilo dapprima aspetteragrave che si attivino quelli a minor dispendio energetico e solo inseguito controlleragrave gli altri

18 52

Ad esempio per capire se si egrave a casa si puograve creare un profilo con doppio contesto che adopera sia unaposizione Internet [Location Net] che uno stato WiFi near Tasker effettueragrave i controlli WIFi soloquando ci si troveragrave nel quartiere

Variabili predefinite

Sono disponibili alcune variabili predefinite per controllare la localizzazione

Variabili utili per le celle telefoniche

middot CELLID (dinamica monitorata) riporta lattuale cella telefonica se nota Da notare che il Cell near state (cioegrave lo stato legato alla vicinanza ad una specifica cella) puograverimanere attivo (cioegrave indicare che si egrave in un dato contesto di celle) anche se in realtagrave la variabile CELLID riporta che effettuvamente la cella attuale egrave sconosciutanon valida Questo per evitare cheil contesto di stato Cell near state possa cambiare semplicemente perchegrave si egrave interrotto il serviziotelefonico In altre parole

o CELLID riporta sempre la situazione in tempo reale (nota che la stringa riportata iniziacon GSM (eg GSM2002651372) se non cegrave collegamento telefonico riporta comese la variabile non esistesse (cioegrave il nome stesso CELLID) NOTA

o lo stato Cell near state varia solo in risposta a ID di cella validi (non cambia se la cellaattuale diviene non valida [non raggiungibilitagrave telefonica])

Variabili utili per la localizzazione net (Internet)

middot LOCN (dinamica) latitudine e longitudine dellultimo network location fix (localizzazione)

middot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNTMS (dinamica) orario (espresso in secondi) in cui egrave avvenuto lultimo network location

fix Per ottenere quanto tempo egrave trascorso dallultimo fix (cioegrave unindicazione relativa) basta sottrarloallorario attuale che egrave contenuto nella variabile TIMES (ora attuale espressa in secondi trascorsidal Gennaio 1970 notare la S finale TIME e TIMES sono due cose diverse) eg TIMES-LOCNTMS --gt n di secondi trascorsi dallultimo fixPer controllare il successo di un fix vedi piugrave sotto (in pratica salva lorario attuale tenta il fix econfronta lorario salvato con quello dellultimo fix riuscito)

Variabili utili per il GPS

middot LOC (dinamica) latitudine e longitudine dellultimo GPS fix (localizzazione)

middot LOCACC (dinamica) accuratezza in metri dellultimo GPS fix

middot LOCALT (dinamica) altezza in metri dellultimo GPS fix riporta 0 se non egrave disponibile

middot LOCSPD (dinamica) velocitagrave (metri al secondo) dellultimo GPS fix riporta 0 se non egravedisponibile

middot LOCTMS (dinamica) orario (espresso in secondi) dellultimo GPS fix Per calcolare quanti secondi sono passati dallultimo fix vedi la spiegazione giagrave fatta per la variabile

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 9: Tasker Android

9 52

GET HTTP POST Mobile Data (onoff) Mobile Data 2G3G (Cyanogen only) USB Tether WiFi(settoggle) Wifi DisconnectReassociateReconnect Wifi Sleep Wifi Tether Wimax (settoggle)

middot Phone Call Call Log Call BlockDivertRevert Compose MMSSMS (Templated) Contacts EndCall Radio Send SMS Send Data SMS Silence Ringer Take Call

middot Tasker Change Icon Set If End If Goto Action Perform Task Profile Toggle Query Action SetWidget Icon Set Widget Label Stop Wait Wait Until

middot Variables SetClearIncDecQueryRandomizeSplitJoinList

middot Zoom Element Position Size State Visibility Text Size Text Image Text Colour Image Alpha

middot 3rd Party Android Notifier Astrid BeyondPod Due Today JuiceDefender DataToggle GentleAlarm NewsRob OfficeTalk SleepBot SMS Backup+ TeslaLED WidgetLocker

Variabili built-in utilizzabiliLe seguenti sono variabili predefinite utilizzabili nei nostri taskAirplane Mode Status Battery Level Bluetooth Status Brightness Called NameNumber CPUFrequencyGovernor DurationTimeDate (Out) Clipboard Contents Date Display Timeout Day of MonthWeek Free Memory GPS Status HTTP ResponseData Keyguard Status Email FromCcSubjectDateTime Light Level LocationAccuracyAltitudeProviderSpeedFix Time Music Track Profiles ActiveProfiles Enabled Screen State Text Sender AddressNameBodyDateSubjectTime Cell IDSignalStrengthServiceState Silent Mode Task Time in QueueLast Caller NameNumberDateTime (In) LastApplication Last Photo Muted Notification Title Phone Number Roaming Speakerphone TasksRunning Telephone Network Operator Time Time Seconds Uptime Seconds Speech VolumeLevel AlarmCallDTMFMediaNotificationRingerSystem WiFi Status Wimax Status Window Label

Indirizzi utili

middot Wiki con vari profili di esempio httptaskerwikidotcom

middot Esempio in inglese di semplice applicazione passo-passo httplifehackercom5599116how-to-turn-your-android-phone-into-a-fully+automated-superphone

middot Thread lungo su forum httpwwwdroidforumsnetforumdroid-applications66195-what-have-you-done-taskerhtml

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

10 52

Editing

Il programma viene editato tramite un interfaccia visuale non essendo disponibile alcun editor esterno (daPC) nonostante sia possibile esportare i task in formato XML (peraltro piuttosto complicato da capire conun apparente caos nellordine delle singole istruzioni)

Innanzitutto dalle impostazioni (tasto hardware Menu -gt preferences -gt tab UI) egrave possibile

middot Selezionare una modalitagrave di interfaccia semplificata (beginner mode) o completa francamente consiglioquestultima tanto il programma rimane complesso da utilizzare e quindi tanto vale avere in vista tuttele opzioni disponibili

middot Specificare che tipo di azione debba avvenire quando in fase di editing si clicka (brevemente o a lungo)su un singolo comando di un task egrave possibile scegliere tra

o nienteo cancellazione (delete) del comandoo editing dello stessoo options (opzioni contestuali)

Da parte mia consiglio click breve -gt editing click lungo -gt options

middot Se impostato come sopra clickando a lungo su un comando di un task appariragrave un menu contestualeche permetteragrave operazioni di cutcopypaste del comando (per spostarlocopiarlo) oppure Insert action

per aggiungere un nuovo comando al di sopra di quello clickato (altrimenti clickando sul pulsante

il nuovocomando viene sempre inserito in fondo)

EDITARE UN TASKLaccesso allediting di un tasko lo si fa

middot Clickando su un elemento della lista di task oppure sul pulsante per creare uno nuovoPer visualizzare lelenco dei task occorre attivare il tab tasks premendo sulla scritta Tasks presente inalto (alla destra di quella Profiles) [NOTA nella figura sottostante viene indicato il pulsante da premere per attivare il tab task quellomostrato egrave perograve lelenco profili non dei tasks]

middot Clickando sul task associato ad un profilo Nellelenco dei profili (mostrato premendo sulla scrittaProfiles in alto a sinistra) vi egrave lelenco dei profili definiti clickando su uno di essi sulla destra

11 52

appariranno i task ad esso associati (egrave premendo su uno di questi che si passa direttamente allediting

di quel task)

Ecco una parte della schermata di editing

middot Il pulsante serve ad aggiungere un nuovo comando in fondo al programma

middot Il pulsante permette di specificare alcune proprietagrave del task

o come comportarsi nel caso un task venga eseguito mentre egrave giagrave in esecuzione uno identico (sipuograve scegliere di farli funzionare entrambi oppure di far sopravvivere quello giagrave in esecuzioneoppure la nuova istanza)

o se mantenere il programma attivo anche a schermo spento utile per evitare che una lungaelaborazione si interrompa a causa della modalitagrave automatica a basso consumo di Android(daltra parte espone a rischi di consumo di batteria elevato ad esempio se il programma perun bug continua a girare indefinitivamente)

middot il pulsante permette di scegliere unicona da associare al task tale icona appare nellelenco deitask ed egrave obbligatoria se si vuole creare un widget dal task

A seconda di come avete specificato su preferenze (vedi sopra) clickando su un comando egrave possibile

12 52

modificarne i parametri in una schermata simile a questa [ad esser precisi questa egrave ledit di un evento malo schema egrave identico]

Pulsanti presenti

middot Accetta le modifiche al comando

middot Lascia perdere le modifiche al comando

middot Mostra un breve testo di aiuto sul comando (molto utile La prima volta chiede se si vuole

scaricare una volta per tutte la guida di tutti i comandi sulla scheda SDcosa che raccomando)

Sempre da questa schermata egrave possibile sostituire un comando con un altro premendo sulla riga diintestazione del comando (che nella figura ho indicato con una piccola freccia gialla)

Drag amp drop sui comandiAlcune operazioni di editing sono possibili clickando sulla estrema destra della linea di un comando(dove in genere vi egrave una piccola icona [vedi freccia gialla nella figura sottostante])

A questo punto egrave possibile trascinarlo

middot sugiugrave per spostarlo in altri punti del programma

middot oppure portandolo completamente in basso (dove nel frattempo egrave apparsa licona di un cestino) eliminarlo

13 52

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

14 52

Linguaggio

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Subroutine (Perform task)Questo comando permette di richiamare un task dallinterno di un altro task in pratica permette di chiamareuna subroutine

Il problema principale nellutilizzo egrave la gestione del rapporto di esecuzione tra task chiamante ed il nuovotask invocato infatti si puograve volere aspettare che il nuovo task abbia terminato la propria esecuzione oppureeseguire i due task contemporaneamente (ad esempio se il nuovo task non crea nulla di necessario al taskchiamante)

Questi rapporti sono regolati dalla proprietagrave Stop e dalla prioritagrave (Priority)

Possibilitagrave

middot task chiamante ha prioritagrave piugrave bassa --gt sorta di richiamo subroutine

middot I nomi dei task iniziano con la lettera maiuscola ricordatene se pensi di eseguirne unomanualmente con il comando Esegui task

middot Quando si fa partire un task con il pulsante Test gli viene assegnata unaltissima prioritagrave percui rischia di incasinare i funzionamenti delle proprietagrave in eventuali task secondari al limite conviene farpartire il task che si vuole httpgroupsgooglecomgrouptaskerbrowse_threadthreadc69984d07da62852f229345b40070597lnk=gstampq=priorityf229345b40070597

middot Quando si lancia un task da un altro task (con lazione Task launch) il parametro STOP indica seoccorra aspettare che il task richiamato debba finire prima di poter continuare la cosa non egrave da pocosoprattutto se il resto dello script lavora sui dati creati dal task richiamato inizialmente In realtagrave contanoanche le prioritagrave nel comportamento vedi sezione apposta

PROBLEMIIn realtagrave ci sono problemi nella gestione attuale (per cui lautore sta lavorando sulla prossima versione) percui al momento non riesco a fare in modo che sia atteso il termine del nuovo task prima di proseguiredandogli prioritagrave piugrave alta non cambia nulla mettendo la proprietagrave Stop lo scripting si ferma ligrave per sempre

Al momento quindi nelle routine piugrave adoperate come subroutine come ultima istruzione setto una variabileomonima alla routine+END (xxxEND)=on per essere sicuri che la routine abbia finito devo prima dichiamare il task settare la variabile xxxEND ad un valore diverso da on chiamare il task e nella istruzionesuccessiva mettere un While Until xxxEND=onun po sporco ma

Anche con tale variabile sentinella ottengo che dica solo la vrase Save settings in esecuzione ma nonarriva alla fine

Temo sia un bug

(Task A)Perform Task BSay A ended

(Task B)Say B startedSET few variablesSay B ended

15 52

Stop Priority A Priority B Resulting say No 5 0 A ended B Started B ended No 5 5 A ended B Started B ended No 5 6 A ended B Started B ended No 5 10 B started A ended B endedYes 5 10 B started B ended (no A ended script stop [disappear Kill App]Yes 5 5 B started B ended (no A ended script stop [disappear Kill App]Yes 5 0 B started B ended (no A ended script stop [disappear Kill App]

Maggiori dettagli e consigli

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread4bfc0c42513b899f38e9d290cc696468

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread1d072ff37368d8aa3eac641b90f07d03

Proposta per riuscire a fare in modo che un task aspetti il completamento dellaltroI just used the tasks that you had typed with only one change When you use the Perform Task in Task 1 I had Stop OFF Your tasks work fine this way (unless you are trying to do other things you have not mentioned) If this is the case you should probably make the Priority higher say 10 then it will do everything in the second task before continuing with the first task If you are still having a problem you could use a variable to tell Task 1 when it should continue Task T1 Varible Set WAITING to 1 Popup Title T1 Text Text 1 Perform Task Name T2 Stop OFF Wait Until WAITING Set Popup Title T3 Text Text 3 Task T2 Popup Title T2 Text Text 2 Varible Clear WAITING

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Prioritagrave

La prioritagrave di un task dipende da molti fattori

middot Un task avviato con il pulsante Test delleditor ha una super-prioritagrave

middot I task shortcutwidget hanno la prioritagrave impostata nel menu di Tasker Prefs Action setting (globalsetting)

middot Nel caso di Perform task dipende dalla proprietagrave di questa action

middot Vi egrave anche un qualcosa che riguarda i profili

middot Se devi mettere una prioritagrave alta al max adopera 9 ( e non 10 sembra fare casini)

In realtagrave la cosa egrave piugrave complicata vedi httpgroupsgooglecomgrouptaskerbrowse_threadthreada7c32914ae697898253da51e02b56ac3lnk=gstampq=priority253da51e02b56ac3

Created with the Personal Edition of HelpNDoc Free help authoring environment

LocalizzazioneE un sistema un po complesso da far funzionare correttamente

Tasker egrave in grado di sfruttare diversi sistemi di localizzazione geografica

middot Celle telefoniche molto impreciso (anche di km) resiste abbastanza anche al chiuso non comportaconsumo in piugrave rispetto al normale utilizzo telefonico

16 52

middot Rete Internet [net] forse sfrutta tipo una sorta di IP o simili

middot Rete WiFi (amp Internet) si basa su mappe di distribuzione dei punti di accesso WiFi (mappeconsultabile tramite Google) sapendo che una data rete WiFi si trova in un specifico contestogeografico risale alla localizzazione attuale Poichegrave le mappe sono online egrave necessario laccesso adInternet (motivo per cui la localizzazione WiFi richiede anche laccesso alla rete Internet [anche sechiaramente il WiFI in segrave ne egrave indipendente come rete])

middot GPS molto preciso (anche nellordine delle decine di metri) difficilmente funziona al chiuso consumaparecchia batteria

Il permesso di adoperare la localizzazione legata alle reti (telefoniche o WiFi) oppure al GPS egravecontrollata da specifiche impostazioni in Android da notare che sono una cosa diversa dalla sempliceattivazione della rete WiFi scambio dati (ad esempio per la localizzazione con WiFi occorre che siaattivo il modulo WiFi del cellulare ma ANCHE abilitatapermessa la localizzazione tramite reti) Al momento non credo sia possibile cambiare il permesso di localizzazione tramite Tasker suppongo siaun fatto di sicurezzaprivacy (per evitare che un programma ci possa tracciare di nascosto) daltra partetenerlo sempre acceso non credo comporti nessun consumo in piugrave in quanto costituisce una sempliceautorizzazione allutilizzo dei dati per la localizzazione ma in segrave non attiva nessuna rete o dispositivo (cosache eventualmente dovragrave essere fatta a parte)

Chiaramente egrave importante la frequenza con cui vengono controllate le fonti della attuale localizzazioneIn genere esistono

middot una frequenza di controllo con dispositivo acceso (display on) specifica per ogni modalitagrave dilocalizzazione

middot una frequenza di controllo a dispositivo spento (display off) comune a tutte le fonti per minimizzare iltempo di attivazione del dispositivo per effetuare i controlli (nel menu Display Off Settings egrave possibileimpostare sia la frequenza che la massima durata dei controlli)

Il servizio di localizzazione presuppone di trovarsi sempre nel punto ricavato dallultima localizzazione

Questi sistemi vengono sfruttati per 2 scopi

middot Conoscere esattamente il punto dove ci si trova (possibilmente al metro) ad esempio per dire dove citroviamo per farci raggiungere (positionlocation)

Per questo scopo si possono adoperare

o Rete internet [net] consuma poco (poco in piugrave rispetto al normale uso telefonico purchegrave siadisponibile un network) ma la precisione varia enormemente e richiede sia il collegamento allarete (network internet suppongo) che quello telefonico (phone service)Per impostarla occorre creare un location context e disattivare il GPS egrave importante impostareun raggio ampio intorno alla posizione di interesse (la frequenza di controllo egrave regolabile sia adisplay spento che acceso)

o Rete WiFi E Internet [net] maggiore consumo precisione molto variabile (buona in areepopolose) necessita sia di rete Internet (net) che WIFiPer impostarlo occorre creare un location context disattivare il GPS ed attivare il WiFi perottenere una maggiore precisionePer registrarlo occorre recarsi sul posto almeno 1 volta

o GPS alto consumo alta precisione allaperto molti problemi al chiusoPer impostarlo occorre creare un location context e deselezionare NetLa frequenza di controllo a dispositivo acceso egrave impostabile come pure quella del dispositivospento (in comune con altre fonti di localizzazione) Si puograve impostare anche il GPS Timeout che specifica quanto tempo debba continuare iltentativo di ottenere una localizzazione GPS (chiaramente questo influenza sia la capacitagrave distabilire una localizzazione ma anche il consumo della batteria)Poichegrave il controllo della posizione GPS non egrave continuo (ma ad intervalli) e dato che al chiusonon riesce a stabilire la posizione se dalla posizione A (localizzata) si passa nella posizione B

17 52

al chiuso (no segnale no localizzazione) il dispositivo faragrave riferimento allultima posizionestabilita (fix) per cui crederagrave di essere ancora in A (cambieragrave idea quando usciragrave allaperto edavverragrave un fix) NOTA sono 2 cose distintesect la predisposizione dellhardware (GPS on con Tasker oppure premere il pulsante

nella tray)sect e lutilizzo effettivo per localizzazione (che avviene con GetLocation in Tasker

oppure facendo partire un programma che usa il GPS) solo in questo secondopassaggio appariragrave licona lampeggiante (e poi stabile) nella tray chiaramente perograve nonpotragrave apparire mai se lhardware egrave scollegato

middot Sapere in quale AREA (piugrave vasta) ci si trova eg per fare qualcosa se ci troviamo in ambito casalingo(status)

Per questo si possono adoperare

o Stato di vicinanza a celle telefoniche consuma pochissimo (pari al normale funzionamentotelefonico) molto impreciso (ma resiste abbastanza bene al chiuso) Laggiornamento avviene secondo un frequenza regolabile quando il display egrave spento mentre adisplay acceso laggiornamento avviene appena la cella egrave visibile (as soon as the tower isvisible)Per adoperarlo occorre impostare uno state context con Cell near -gt Update mentre ci simuove nellarea di interesse (dunque egrave necessario recarcisivi almeno una volta)

o Stato di vicinanza a reti wifi consuma abbastanza (ma meno del GPS) buona la precisionenecessita di un accesso WIFi nei paraggi funziona anche al chiusoPer adoperarlo occorre impostare uno state context con WiFi near ed imposta il SSID(identificatore di rete) del miglior segnale WiFi che vuoi utilizzareidentificareQuesta funzione fa regolari controlli delle reti WiFi e scatta lattivazione se riconosce un puntodi accesso tra quelli impostati da notare che non serve collegarsi alla rete WiFi basta che siaricevibile (motivo per cui si puograve anche sfruttare la rete magari piugrave forte del vicino) Se si vuol evitare di mantenere acceso il WiFi in continuazione basta attivare la casella dicontrollo WiFi Toggle in questo modo verragrave attivato da Tasker solo quando necessiteragrave dieffettuare i controlli delle reti presenti

Rapporto tra consumo e precisione

MetodoConsumoenergetico

PrecisioneNecessita diinternet [net]

Necessita delWiFi

Stato vicinanza a celletelefoniche [State]

Posizione rete internet[Location][Net]

Sigrave

Posizione rete internet amp Wifi Sigrave Sigrave

Stato vicinanza a WiFi Sigrave

Posizione GPS Sigrave

Ad un numero maggiore di stelle corrisponde maggior consumo o precisione (a seconda della colonna)

Tasker adotta delle strategie per limitare il consumo energetico ad esempio in caso di piugrave contesti nelmedesimo profilo dapprima aspetteragrave che si attivino quelli a minor dispendio energetico e solo inseguito controlleragrave gli altri

18 52

Ad esempio per capire se si egrave a casa si puograve creare un profilo con doppio contesto che adopera sia unaposizione Internet [Location Net] che uno stato WiFi near Tasker effettueragrave i controlli WIFi soloquando ci si troveragrave nel quartiere

Variabili predefinite

Sono disponibili alcune variabili predefinite per controllare la localizzazione

Variabili utili per le celle telefoniche

middot CELLID (dinamica monitorata) riporta lattuale cella telefonica se nota Da notare che il Cell near state (cioegrave lo stato legato alla vicinanza ad una specifica cella) puograverimanere attivo (cioegrave indicare che si egrave in un dato contesto di celle) anche se in realtagrave la variabile CELLID riporta che effettuvamente la cella attuale egrave sconosciutanon valida Questo per evitare cheil contesto di stato Cell near state possa cambiare semplicemente perchegrave si egrave interrotto il serviziotelefonico In altre parole

o CELLID riporta sempre la situazione in tempo reale (nota che la stringa riportata iniziacon GSM (eg GSM2002651372) se non cegrave collegamento telefonico riporta comese la variabile non esistesse (cioegrave il nome stesso CELLID) NOTA

o lo stato Cell near state varia solo in risposta a ID di cella validi (non cambia se la cellaattuale diviene non valida [non raggiungibilitagrave telefonica])

Variabili utili per la localizzazione net (Internet)

middot LOCN (dinamica) latitudine e longitudine dellultimo network location fix (localizzazione)

middot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNTMS (dinamica) orario (espresso in secondi) in cui egrave avvenuto lultimo network location

fix Per ottenere quanto tempo egrave trascorso dallultimo fix (cioegrave unindicazione relativa) basta sottrarloallorario attuale che egrave contenuto nella variabile TIMES (ora attuale espressa in secondi trascorsidal Gennaio 1970 notare la S finale TIME e TIMES sono due cose diverse) eg TIMES-LOCNTMS --gt n di secondi trascorsi dallultimo fixPer controllare il successo di un fix vedi piugrave sotto (in pratica salva lorario attuale tenta il fix econfronta lorario salvato con quello dellultimo fix riuscito)

Variabili utili per il GPS

middot LOC (dinamica) latitudine e longitudine dellultimo GPS fix (localizzazione)

middot LOCACC (dinamica) accuratezza in metri dellultimo GPS fix

middot LOCALT (dinamica) altezza in metri dellultimo GPS fix riporta 0 se non egrave disponibile

middot LOCSPD (dinamica) velocitagrave (metri al secondo) dellultimo GPS fix riporta 0 se non egravedisponibile

middot LOCTMS (dinamica) orario (espresso in secondi) dellultimo GPS fix Per calcolare quanti secondi sono passati dallultimo fix vedi la spiegazione giagrave fatta per la variabile

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 10: Tasker Android

10 52

Editing

Il programma viene editato tramite un interfaccia visuale non essendo disponibile alcun editor esterno (daPC) nonostante sia possibile esportare i task in formato XML (peraltro piuttosto complicato da capire conun apparente caos nellordine delle singole istruzioni)

Innanzitutto dalle impostazioni (tasto hardware Menu -gt preferences -gt tab UI) egrave possibile

middot Selezionare una modalitagrave di interfaccia semplificata (beginner mode) o completa francamente consiglioquestultima tanto il programma rimane complesso da utilizzare e quindi tanto vale avere in vista tuttele opzioni disponibili

middot Specificare che tipo di azione debba avvenire quando in fase di editing si clicka (brevemente o a lungo)su un singolo comando di un task egrave possibile scegliere tra

o nienteo cancellazione (delete) del comandoo editing dello stessoo options (opzioni contestuali)

Da parte mia consiglio click breve -gt editing click lungo -gt options

middot Se impostato come sopra clickando a lungo su un comando di un task appariragrave un menu contestualeche permetteragrave operazioni di cutcopypaste del comando (per spostarlocopiarlo) oppure Insert action

per aggiungere un nuovo comando al di sopra di quello clickato (altrimenti clickando sul pulsante

il nuovocomando viene sempre inserito in fondo)

EDITARE UN TASKLaccesso allediting di un tasko lo si fa

middot Clickando su un elemento della lista di task oppure sul pulsante per creare uno nuovoPer visualizzare lelenco dei task occorre attivare il tab tasks premendo sulla scritta Tasks presente inalto (alla destra di quella Profiles) [NOTA nella figura sottostante viene indicato il pulsante da premere per attivare il tab task quellomostrato egrave perograve lelenco profili non dei tasks]

middot Clickando sul task associato ad un profilo Nellelenco dei profili (mostrato premendo sulla scrittaProfiles in alto a sinistra) vi egrave lelenco dei profili definiti clickando su uno di essi sulla destra

11 52

appariranno i task ad esso associati (egrave premendo su uno di questi che si passa direttamente allediting

di quel task)

Ecco una parte della schermata di editing

middot Il pulsante serve ad aggiungere un nuovo comando in fondo al programma

middot Il pulsante permette di specificare alcune proprietagrave del task

o come comportarsi nel caso un task venga eseguito mentre egrave giagrave in esecuzione uno identico (sipuograve scegliere di farli funzionare entrambi oppure di far sopravvivere quello giagrave in esecuzioneoppure la nuova istanza)

o se mantenere il programma attivo anche a schermo spento utile per evitare che una lungaelaborazione si interrompa a causa della modalitagrave automatica a basso consumo di Android(daltra parte espone a rischi di consumo di batteria elevato ad esempio se il programma perun bug continua a girare indefinitivamente)

middot il pulsante permette di scegliere unicona da associare al task tale icona appare nellelenco deitask ed egrave obbligatoria se si vuole creare un widget dal task

A seconda di come avete specificato su preferenze (vedi sopra) clickando su un comando egrave possibile

12 52

modificarne i parametri in una schermata simile a questa [ad esser precisi questa egrave ledit di un evento malo schema egrave identico]

Pulsanti presenti

middot Accetta le modifiche al comando

middot Lascia perdere le modifiche al comando

middot Mostra un breve testo di aiuto sul comando (molto utile La prima volta chiede se si vuole

scaricare una volta per tutte la guida di tutti i comandi sulla scheda SDcosa che raccomando)

Sempre da questa schermata egrave possibile sostituire un comando con un altro premendo sulla riga diintestazione del comando (che nella figura ho indicato con una piccola freccia gialla)

Drag amp drop sui comandiAlcune operazioni di editing sono possibili clickando sulla estrema destra della linea di un comando(dove in genere vi egrave una piccola icona [vedi freccia gialla nella figura sottostante])

A questo punto egrave possibile trascinarlo

middot sugiugrave per spostarlo in altri punti del programma

middot oppure portandolo completamente in basso (dove nel frattempo egrave apparsa licona di un cestino) eliminarlo

13 52

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

14 52

Linguaggio

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Subroutine (Perform task)Questo comando permette di richiamare un task dallinterno di un altro task in pratica permette di chiamareuna subroutine

Il problema principale nellutilizzo egrave la gestione del rapporto di esecuzione tra task chiamante ed il nuovotask invocato infatti si puograve volere aspettare che il nuovo task abbia terminato la propria esecuzione oppureeseguire i due task contemporaneamente (ad esempio se il nuovo task non crea nulla di necessario al taskchiamante)

Questi rapporti sono regolati dalla proprietagrave Stop e dalla prioritagrave (Priority)

Possibilitagrave

middot task chiamante ha prioritagrave piugrave bassa --gt sorta di richiamo subroutine

middot I nomi dei task iniziano con la lettera maiuscola ricordatene se pensi di eseguirne unomanualmente con il comando Esegui task

middot Quando si fa partire un task con il pulsante Test gli viene assegnata unaltissima prioritagrave percui rischia di incasinare i funzionamenti delle proprietagrave in eventuali task secondari al limite conviene farpartire il task che si vuole httpgroupsgooglecomgrouptaskerbrowse_threadthreadc69984d07da62852f229345b40070597lnk=gstampq=priorityf229345b40070597

middot Quando si lancia un task da un altro task (con lazione Task launch) il parametro STOP indica seoccorra aspettare che il task richiamato debba finire prima di poter continuare la cosa non egrave da pocosoprattutto se il resto dello script lavora sui dati creati dal task richiamato inizialmente In realtagrave contanoanche le prioritagrave nel comportamento vedi sezione apposta

PROBLEMIIn realtagrave ci sono problemi nella gestione attuale (per cui lautore sta lavorando sulla prossima versione) percui al momento non riesco a fare in modo che sia atteso il termine del nuovo task prima di proseguiredandogli prioritagrave piugrave alta non cambia nulla mettendo la proprietagrave Stop lo scripting si ferma ligrave per sempre

Al momento quindi nelle routine piugrave adoperate come subroutine come ultima istruzione setto una variabileomonima alla routine+END (xxxEND)=on per essere sicuri che la routine abbia finito devo prima dichiamare il task settare la variabile xxxEND ad un valore diverso da on chiamare il task e nella istruzionesuccessiva mettere un While Until xxxEND=onun po sporco ma

Anche con tale variabile sentinella ottengo che dica solo la vrase Save settings in esecuzione ma nonarriva alla fine

Temo sia un bug

(Task A)Perform Task BSay A ended

(Task B)Say B startedSET few variablesSay B ended

15 52

Stop Priority A Priority B Resulting say No 5 0 A ended B Started B ended No 5 5 A ended B Started B ended No 5 6 A ended B Started B ended No 5 10 B started A ended B endedYes 5 10 B started B ended (no A ended script stop [disappear Kill App]Yes 5 5 B started B ended (no A ended script stop [disappear Kill App]Yes 5 0 B started B ended (no A ended script stop [disappear Kill App]

Maggiori dettagli e consigli

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread4bfc0c42513b899f38e9d290cc696468

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread1d072ff37368d8aa3eac641b90f07d03

Proposta per riuscire a fare in modo che un task aspetti il completamento dellaltroI just used the tasks that you had typed with only one change When you use the Perform Task in Task 1 I had Stop OFF Your tasks work fine this way (unless you are trying to do other things you have not mentioned) If this is the case you should probably make the Priority higher say 10 then it will do everything in the second task before continuing with the first task If you are still having a problem you could use a variable to tell Task 1 when it should continue Task T1 Varible Set WAITING to 1 Popup Title T1 Text Text 1 Perform Task Name T2 Stop OFF Wait Until WAITING Set Popup Title T3 Text Text 3 Task T2 Popup Title T2 Text Text 2 Varible Clear WAITING

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Prioritagrave

La prioritagrave di un task dipende da molti fattori

middot Un task avviato con il pulsante Test delleditor ha una super-prioritagrave

middot I task shortcutwidget hanno la prioritagrave impostata nel menu di Tasker Prefs Action setting (globalsetting)

middot Nel caso di Perform task dipende dalla proprietagrave di questa action

middot Vi egrave anche un qualcosa che riguarda i profili

middot Se devi mettere una prioritagrave alta al max adopera 9 ( e non 10 sembra fare casini)

In realtagrave la cosa egrave piugrave complicata vedi httpgroupsgooglecomgrouptaskerbrowse_threadthreada7c32914ae697898253da51e02b56ac3lnk=gstampq=priority253da51e02b56ac3

Created with the Personal Edition of HelpNDoc Free help authoring environment

LocalizzazioneE un sistema un po complesso da far funzionare correttamente

Tasker egrave in grado di sfruttare diversi sistemi di localizzazione geografica

middot Celle telefoniche molto impreciso (anche di km) resiste abbastanza anche al chiuso non comportaconsumo in piugrave rispetto al normale utilizzo telefonico

16 52

middot Rete Internet [net] forse sfrutta tipo una sorta di IP o simili

middot Rete WiFi (amp Internet) si basa su mappe di distribuzione dei punti di accesso WiFi (mappeconsultabile tramite Google) sapendo che una data rete WiFi si trova in un specifico contestogeografico risale alla localizzazione attuale Poichegrave le mappe sono online egrave necessario laccesso adInternet (motivo per cui la localizzazione WiFi richiede anche laccesso alla rete Internet [anche sechiaramente il WiFI in segrave ne egrave indipendente come rete])

middot GPS molto preciso (anche nellordine delle decine di metri) difficilmente funziona al chiuso consumaparecchia batteria

Il permesso di adoperare la localizzazione legata alle reti (telefoniche o WiFi) oppure al GPS egravecontrollata da specifiche impostazioni in Android da notare che sono una cosa diversa dalla sempliceattivazione della rete WiFi scambio dati (ad esempio per la localizzazione con WiFi occorre che siaattivo il modulo WiFi del cellulare ma ANCHE abilitatapermessa la localizzazione tramite reti) Al momento non credo sia possibile cambiare il permesso di localizzazione tramite Tasker suppongo siaun fatto di sicurezzaprivacy (per evitare che un programma ci possa tracciare di nascosto) daltra partetenerlo sempre acceso non credo comporti nessun consumo in piugrave in quanto costituisce una sempliceautorizzazione allutilizzo dei dati per la localizzazione ma in segrave non attiva nessuna rete o dispositivo (cosache eventualmente dovragrave essere fatta a parte)

Chiaramente egrave importante la frequenza con cui vengono controllate le fonti della attuale localizzazioneIn genere esistono

middot una frequenza di controllo con dispositivo acceso (display on) specifica per ogni modalitagrave dilocalizzazione

middot una frequenza di controllo a dispositivo spento (display off) comune a tutte le fonti per minimizzare iltempo di attivazione del dispositivo per effetuare i controlli (nel menu Display Off Settings egrave possibileimpostare sia la frequenza che la massima durata dei controlli)

Il servizio di localizzazione presuppone di trovarsi sempre nel punto ricavato dallultima localizzazione

Questi sistemi vengono sfruttati per 2 scopi

middot Conoscere esattamente il punto dove ci si trova (possibilmente al metro) ad esempio per dire dove citroviamo per farci raggiungere (positionlocation)

Per questo scopo si possono adoperare

o Rete internet [net] consuma poco (poco in piugrave rispetto al normale uso telefonico purchegrave siadisponibile un network) ma la precisione varia enormemente e richiede sia il collegamento allarete (network internet suppongo) che quello telefonico (phone service)Per impostarla occorre creare un location context e disattivare il GPS egrave importante impostareun raggio ampio intorno alla posizione di interesse (la frequenza di controllo egrave regolabile sia adisplay spento che acceso)

o Rete WiFi E Internet [net] maggiore consumo precisione molto variabile (buona in areepopolose) necessita sia di rete Internet (net) che WIFiPer impostarlo occorre creare un location context disattivare il GPS ed attivare il WiFi perottenere una maggiore precisionePer registrarlo occorre recarsi sul posto almeno 1 volta

o GPS alto consumo alta precisione allaperto molti problemi al chiusoPer impostarlo occorre creare un location context e deselezionare NetLa frequenza di controllo a dispositivo acceso egrave impostabile come pure quella del dispositivospento (in comune con altre fonti di localizzazione) Si puograve impostare anche il GPS Timeout che specifica quanto tempo debba continuare iltentativo di ottenere una localizzazione GPS (chiaramente questo influenza sia la capacitagrave distabilire una localizzazione ma anche il consumo della batteria)Poichegrave il controllo della posizione GPS non egrave continuo (ma ad intervalli) e dato che al chiusonon riesce a stabilire la posizione se dalla posizione A (localizzata) si passa nella posizione B

17 52

al chiuso (no segnale no localizzazione) il dispositivo faragrave riferimento allultima posizionestabilita (fix) per cui crederagrave di essere ancora in A (cambieragrave idea quando usciragrave allaperto edavverragrave un fix) NOTA sono 2 cose distintesect la predisposizione dellhardware (GPS on con Tasker oppure premere il pulsante

nella tray)sect e lutilizzo effettivo per localizzazione (che avviene con GetLocation in Tasker

oppure facendo partire un programma che usa il GPS) solo in questo secondopassaggio appariragrave licona lampeggiante (e poi stabile) nella tray chiaramente perograve nonpotragrave apparire mai se lhardware egrave scollegato

middot Sapere in quale AREA (piugrave vasta) ci si trova eg per fare qualcosa se ci troviamo in ambito casalingo(status)

Per questo si possono adoperare

o Stato di vicinanza a celle telefoniche consuma pochissimo (pari al normale funzionamentotelefonico) molto impreciso (ma resiste abbastanza bene al chiuso) Laggiornamento avviene secondo un frequenza regolabile quando il display egrave spento mentre adisplay acceso laggiornamento avviene appena la cella egrave visibile (as soon as the tower isvisible)Per adoperarlo occorre impostare uno state context con Cell near -gt Update mentre ci simuove nellarea di interesse (dunque egrave necessario recarcisivi almeno una volta)

o Stato di vicinanza a reti wifi consuma abbastanza (ma meno del GPS) buona la precisionenecessita di un accesso WIFi nei paraggi funziona anche al chiusoPer adoperarlo occorre impostare uno state context con WiFi near ed imposta il SSID(identificatore di rete) del miglior segnale WiFi che vuoi utilizzareidentificareQuesta funzione fa regolari controlli delle reti WiFi e scatta lattivazione se riconosce un puntodi accesso tra quelli impostati da notare che non serve collegarsi alla rete WiFi basta che siaricevibile (motivo per cui si puograve anche sfruttare la rete magari piugrave forte del vicino) Se si vuol evitare di mantenere acceso il WiFi in continuazione basta attivare la casella dicontrollo WiFi Toggle in questo modo verragrave attivato da Tasker solo quando necessiteragrave dieffettuare i controlli delle reti presenti

Rapporto tra consumo e precisione

MetodoConsumoenergetico

PrecisioneNecessita diinternet [net]

Necessita delWiFi

Stato vicinanza a celletelefoniche [State]

Posizione rete internet[Location][Net]

Sigrave

Posizione rete internet amp Wifi Sigrave Sigrave

Stato vicinanza a WiFi Sigrave

Posizione GPS Sigrave

Ad un numero maggiore di stelle corrisponde maggior consumo o precisione (a seconda della colonna)

Tasker adotta delle strategie per limitare il consumo energetico ad esempio in caso di piugrave contesti nelmedesimo profilo dapprima aspetteragrave che si attivino quelli a minor dispendio energetico e solo inseguito controlleragrave gli altri

18 52

Ad esempio per capire se si egrave a casa si puograve creare un profilo con doppio contesto che adopera sia unaposizione Internet [Location Net] che uno stato WiFi near Tasker effettueragrave i controlli WIFi soloquando ci si troveragrave nel quartiere

Variabili predefinite

Sono disponibili alcune variabili predefinite per controllare la localizzazione

Variabili utili per le celle telefoniche

middot CELLID (dinamica monitorata) riporta lattuale cella telefonica se nota Da notare che il Cell near state (cioegrave lo stato legato alla vicinanza ad una specifica cella) puograverimanere attivo (cioegrave indicare che si egrave in un dato contesto di celle) anche se in realtagrave la variabile CELLID riporta che effettuvamente la cella attuale egrave sconosciutanon valida Questo per evitare cheil contesto di stato Cell near state possa cambiare semplicemente perchegrave si egrave interrotto il serviziotelefonico In altre parole

o CELLID riporta sempre la situazione in tempo reale (nota che la stringa riportata iniziacon GSM (eg GSM2002651372) se non cegrave collegamento telefonico riporta comese la variabile non esistesse (cioegrave il nome stesso CELLID) NOTA

o lo stato Cell near state varia solo in risposta a ID di cella validi (non cambia se la cellaattuale diviene non valida [non raggiungibilitagrave telefonica])

Variabili utili per la localizzazione net (Internet)

middot LOCN (dinamica) latitudine e longitudine dellultimo network location fix (localizzazione)

middot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNTMS (dinamica) orario (espresso in secondi) in cui egrave avvenuto lultimo network location

fix Per ottenere quanto tempo egrave trascorso dallultimo fix (cioegrave unindicazione relativa) basta sottrarloallorario attuale che egrave contenuto nella variabile TIMES (ora attuale espressa in secondi trascorsidal Gennaio 1970 notare la S finale TIME e TIMES sono due cose diverse) eg TIMES-LOCNTMS --gt n di secondi trascorsi dallultimo fixPer controllare il successo di un fix vedi piugrave sotto (in pratica salva lorario attuale tenta il fix econfronta lorario salvato con quello dellultimo fix riuscito)

Variabili utili per il GPS

middot LOC (dinamica) latitudine e longitudine dellultimo GPS fix (localizzazione)

middot LOCACC (dinamica) accuratezza in metri dellultimo GPS fix

middot LOCALT (dinamica) altezza in metri dellultimo GPS fix riporta 0 se non egrave disponibile

middot LOCSPD (dinamica) velocitagrave (metri al secondo) dellultimo GPS fix riporta 0 se non egravedisponibile

middot LOCTMS (dinamica) orario (espresso in secondi) dellultimo GPS fix Per calcolare quanti secondi sono passati dallultimo fix vedi la spiegazione giagrave fatta per la variabile

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 11: Tasker Android

11 52

appariranno i task ad esso associati (egrave premendo su uno di questi che si passa direttamente allediting

di quel task)

Ecco una parte della schermata di editing

middot Il pulsante serve ad aggiungere un nuovo comando in fondo al programma

middot Il pulsante permette di specificare alcune proprietagrave del task

o come comportarsi nel caso un task venga eseguito mentre egrave giagrave in esecuzione uno identico (sipuograve scegliere di farli funzionare entrambi oppure di far sopravvivere quello giagrave in esecuzioneoppure la nuova istanza)

o se mantenere il programma attivo anche a schermo spento utile per evitare che una lungaelaborazione si interrompa a causa della modalitagrave automatica a basso consumo di Android(daltra parte espone a rischi di consumo di batteria elevato ad esempio se il programma perun bug continua a girare indefinitivamente)

middot il pulsante permette di scegliere unicona da associare al task tale icona appare nellelenco deitask ed egrave obbligatoria se si vuole creare un widget dal task

A seconda di come avete specificato su preferenze (vedi sopra) clickando su un comando egrave possibile

12 52

modificarne i parametri in una schermata simile a questa [ad esser precisi questa egrave ledit di un evento malo schema egrave identico]

Pulsanti presenti

middot Accetta le modifiche al comando

middot Lascia perdere le modifiche al comando

middot Mostra un breve testo di aiuto sul comando (molto utile La prima volta chiede se si vuole

scaricare una volta per tutte la guida di tutti i comandi sulla scheda SDcosa che raccomando)

Sempre da questa schermata egrave possibile sostituire un comando con un altro premendo sulla riga diintestazione del comando (che nella figura ho indicato con una piccola freccia gialla)

Drag amp drop sui comandiAlcune operazioni di editing sono possibili clickando sulla estrema destra della linea di un comando(dove in genere vi egrave una piccola icona [vedi freccia gialla nella figura sottostante])

A questo punto egrave possibile trascinarlo

middot sugiugrave per spostarlo in altri punti del programma

middot oppure portandolo completamente in basso (dove nel frattempo egrave apparsa licona di un cestino) eliminarlo

13 52

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

14 52

Linguaggio

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Subroutine (Perform task)Questo comando permette di richiamare un task dallinterno di un altro task in pratica permette di chiamareuna subroutine

Il problema principale nellutilizzo egrave la gestione del rapporto di esecuzione tra task chiamante ed il nuovotask invocato infatti si puograve volere aspettare che il nuovo task abbia terminato la propria esecuzione oppureeseguire i due task contemporaneamente (ad esempio se il nuovo task non crea nulla di necessario al taskchiamante)

Questi rapporti sono regolati dalla proprietagrave Stop e dalla prioritagrave (Priority)

Possibilitagrave

middot task chiamante ha prioritagrave piugrave bassa --gt sorta di richiamo subroutine

middot I nomi dei task iniziano con la lettera maiuscola ricordatene se pensi di eseguirne unomanualmente con il comando Esegui task

middot Quando si fa partire un task con il pulsante Test gli viene assegnata unaltissima prioritagrave percui rischia di incasinare i funzionamenti delle proprietagrave in eventuali task secondari al limite conviene farpartire il task che si vuole httpgroupsgooglecomgrouptaskerbrowse_threadthreadc69984d07da62852f229345b40070597lnk=gstampq=priorityf229345b40070597

middot Quando si lancia un task da un altro task (con lazione Task launch) il parametro STOP indica seoccorra aspettare che il task richiamato debba finire prima di poter continuare la cosa non egrave da pocosoprattutto se il resto dello script lavora sui dati creati dal task richiamato inizialmente In realtagrave contanoanche le prioritagrave nel comportamento vedi sezione apposta

PROBLEMIIn realtagrave ci sono problemi nella gestione attuale (per cui lautore sta lavorando sulla prossima versione) percui al momento non riesco a fare in modo che sia atteso il termine del nuovo task prima di proseguiredandogli prioritagrave piugrave alta non cambia nulla mettendo la proprietagrave Stop lo scripting si ferma ligrave per sempre

Al momento quindi nelle routine piugrave adoperate come subroutine come ultima istruzione setto una variabileomonima alla routine+END (xxxEND)=on per essere sicuri che la routine abbia finito devo prima dichiamare il task settare la variabile xxxEND ad un valore diverso da on chiamare il task e nella istruzionesuccessiva mettere un While Until xxxEND=onun po sporco ma

Anche con tale variabile sentinella ottengo che dica solo la vrase Save settings in esecuzione ma nonarriva alla fine

Temo sia un bug

(Task A)Perform Task BSay A ended

(Task B)Say B startedSET few variablesSay B ended

15 52

Stop Priority A Priority B Resulting say No 5 0 A ended B Started B ended No 5 5 A ended B Started B ended No 5 6 A ended B Started B ended No 5 10 B started A ended B endedYes 5 10 B started B ended (no A ended script stop [disappear Kill App]Yes 5 5 B started B ended (no A ended script stop [disappear Kill App]Yes 5 0 B started B ended (no A ended script stop [disappear Kill App]

Maggiori dettagli e consigli

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread4bfc0c42513b899f38e9d290cc696468

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread1d072ff37368d8aa3eac641b90f07d03

Proposta per riuscire a fare in modo che un task aspetti il completamento dellaltroI just used the tasks that you had typed with only one change When you use the Perform Task in Task 1 I had Stop OFF Your tasks work fine this way (unless you are trying to do other things you have not mentioned) If this is the case you should probably make the Priority higher say 10 then it will do everything in the second task before continuing with the first task If you are still having a problem you could use a variable to tell Task 1 when it should continue Task T1 Varible Set WAITING to 1 Popup Title T1 Text Text 1 Perform Task Name T2 Stop OFF Wait Until WAITING Set Popup Title T3 Text Text 3 Task T2 Popup Title T2 Text Text 2 Varible Clear WAITING

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Prioritagrave

La prioritagrave di un task dipende da molti fattori

middot Un task avviato con il pulsante Test delleditor ha una super-prioritagrave

middot I task shortcutwidget hanno la prioritagrave impostata nel menu di Tasker Prefs Action setting (globalsetting)

middot Nel caso di Perform task dipende dalla proprietagrave di questa action

middot Vi egrave anche un qualcosa che riguarda i profili

middot Se devi mettere una prioritagrave alta al max adopera 9 ( e non 10 sembra fare casini)

In realtagrave la cosa egrave piugrave complicata vedi httpgroupsgooglecomgrouptaskerbrowse_threadthreada7c32914ae697898253da51e02b56ac3lnk=gstampq=priority253da51e02b56ac3

Created with the Personal Edition of HelpNDoc Free help authoring environment

LocalizzazioneE un sistema un po complesso da far funzionare correttamente

Tasker egrave in grado di sfruttare diversi sistemi di localizzazione geografica

middot Celle telefoniche molto impreciso (anche di km) resiste abbastanza anche al chiuso non comportaconsumo in piugrave rispetto al normale utilizzo telefonico

16 52

middot Rete Internet [net] forse sfrutta tipo una sorta di IP o simili

middot Rete WiFi (amp Internet) si basa su mappe di distribuzione dei punti di accesso WiFi (mappeconsultabile tramite Google) sapendo che una data rete WiFi si trova in un specifico contestogeografico risale alla localizzazione attuale Poichegrave le mappe sono online egrave necessario laccesso adInternet (motivo per cui la localizzazione WiFi richiede anche laccesso alla rete Internet [anche sechiaramente il WiFI in segrave ne egrave indipendente come rete])

middot GPS molto preciso (anche nellordine delle decine di metri) difficilmente funziona al chiuso consumaparecchia batteria

Il permesso di adoperare la localizzazione legata alle reti (telefoniche o WiFi) oppure al GPS egravecontrollata da specifiche impostazioni in Android da notare che sono una cosa diversa dalla sempliceattivazione della rete WiFi scambio dati (ad esempio per la localizzazione con WiFi occorre che siaattivo il modulo WiFi del cellulare ma ANCHE abilitatapermessa la localizzazione tramite reti) Al momento non credo sia possibile cambiare il permesso di localizzazione tramite Tasker suppongo siaun fatto di sicurezzaprivacy (per evitare che un programma ci possa tracciare di nascosto) daltra partetenerlo sempre acceso non credo comporti nessun consumo in piugrave in quanto costituisce una sempliceautorizzazione allutilizzo dei dati per la localizzazione ma in segrave non attiva nessuna rete o dispositivo (cosache eventualmente dovragrave essere fatta a parte)

Chiaramente egrave importante la frequenza con cui vengono controllate le fonti della attuale localizzazioneIn genere esistono

middot una frequenza di controllo con dispositivo acceso (display on) specifica per ogni modalitagrave dilocalizzazione

middot una frequenza di controllo a dispositivo spento (display off) comune a tutte le fonti per minimizzare iltempo di attivazione del dispositivo per effetuare i controlli (nel menu Display Off Settings egrave possibileimpostare sia la frequenza che la massima durata dei controlli)

Il servizio di localizzazione presuppone di trovarsi sempre nel punto ricavato dallultima localizzazione

Questi sistemi vengono sfruttati per 2 scopi

middot Conoscere esattamente il punto dove ci si trova (possibilmente al metro) ad esempio per dire dove citroviamo per farci raggiungere (positionlocation)

Per questo scopo si possono adoperare

o Rete internet [net] consuma poco (poco in piugrave rispetto al normale uso telefonico purchegrave siadisponibile un network) ma la precisione varia enormemente e richiede sia il collegamento allarete (network internet suppongo) che quello telefonico (phone service)Per impostarla occorre creare un location context e disattivare il GPS egrave importante impostareun raggio ampio intorno alla posizione di interesse (la frequenza di controllo egrave regolabile sia adisplay spento che acceso)

o Rete WiFi E Internet [net] maggiore consumo precisione molto variabile (buona in areepopolose) necessita sia di rete Internet (net) che WIFiPer impostarlo occorre creare un location context disattivare il GPS ed attivare il WiFi perottenere una maggiore precisionePer registrarlo occorre recarsi sul posto almeno 1 volta

o GPS alto consumo alta precisione allaperto molti problemi al chiusoPer impostarlo occorre creare un location context e deselezionare NetLa frequenza di controllo a dispositivo acceso egrave impostabile come pure quella del dispositivospento (in comune con altre fonti di localizzazione) Si puograve impostare anche il GPS Timeout che specifica quanto tempo debba continuare iltentativo di ottenere una localizzazione GPS (chiaramente questo influenza sia la capacitagrave distabilire una localizzazione ma anche il consumo della batteria)Poichegrave il controllo della posizione GPS non egrave continuo (ma ad intervalli) e dato che al chiusonon riesce a stabilire la posizione se dalla posizione A (localizzata) si passa nella posizione B

17 52

al chiuso (no segnale no localizzazione) il dispositivo faragrave riferimento allultima posizionestabilita (fix) per cui crederagrave di essere ancora in A (cambieragrave idea quando usciragrave allaperto edavverragrave un fix) NOTA sono 2 cose distintesect la predisposizione dellhardware (GPS on con Tasker oppure premere il pulsante

nella tray)sect e lutilizzo effettivo per localizzazione (che avviene con GetLocation in Tasker

oppure facendo partire un programma che usa il GPS) solo in questo secondopassaggio appariragrave licona lampeggiante (e poi stabile) nella tray chiaramente perograve nonpotragrave apparire mai se lhardware egrave scollegato

middot Sapere in quale AREA (piugrave vasta) ci si trova eg per fare qualcosa se ci troviamo in ambito casalingo(status)

Per questo si possono adoperare

o Stato di vicinanza a celle telefoniche consuma pochissimo (pari al normale funzionamentotelefonico) molto impreciso (ma resiste abbastanza bene al chiuso) Laggiornamento avviene secondo un frequenza regolabile quando il display egrave spento mentre adisplay acceso laggiornamento avviene appena la cella egrave visibile (as soon as the tower isvisible)Per adoperarlo occorre impostare uno state context con Cell near -gt Update mentre ci simuove nellarea di interesse (dunque egrave necessario recarcisivi almeno una volta)

o Stato di vicinanza a reti wifi consuma abbastanza (ma meno del GPS) buona la precisionenecessita di un accesso WIFi nei paraggi funziona anche al chiusoPer adoperarlo occorre impostare uno state context con WiFi near ed imposta il SSID(identificatore di rete) del miglior segnale WiFi che vuoi utilizzareidentificareQuesta funzione fa regolari controlli delle reti WiFi e scatta lattivazione se riconosce un puntodi accesso tra quelli impostati da notare che non serve collegarsi alla rete WiFi basta che siaricevibile (motivo per cui si puograve anche sfruttare la rete magari piugrave forte del vicino) Se si vuol evitare di mantenere acceso il WiFi in continuazione basta attivare la casella dicontrollo WiFi Toggle in questo modo verragrave attivato da Tasker solo quando necessiteragrave dieffettuare i controlli delle reti presenti

Rapporto tra consumo e precisione

MetodoConsumoenergetico

PrecisioneNecessita diinternet [net]

Necessita delWiFi

Stato vicinanza a celletelefoniche [State]

Posizione rete internet[Location][Net]

Sigrave

Posizione rete internet amp Wifi Sigrave Sigrave

Stato vicinanza a WiFi Sigrave

Posizione GPS Sigrave

Ad un numero maggiore di stelle corrisponde maggior consumo o precisione (a seconda della colonna)

Tasker adotta delle strategie per limitare il consumo energetico ad esempio in caso di piugrave contesti nelmedesimo profilo dapprima aspetteragrave che si attivino quelli a minor dispendio energetico e solo inseguito controlleragrave gli altri

18 52

Ad esempio per capire se si egrave a casa si puograve creare un profilo con doppio contesto che adopera sia unaposizione Internet [Location Net] che uno stato WiFi near Tasker effettueragrave i controlli WIFi soloquando ci si troveragrave nel quartiere

Variabili predefinite

Sono disponibili alcune variabili predefinite per controllare la localizzazione

Variabili utili per le celle telefoniche

middot CELLID (dinamica monitorata) riporta lattuale cella telefonica se nota Da notare che il Cell near state (cioegrave lo stato legato alla vicinanza ad una specifica cella) puograverimanere attivo (cioegrave indicare che si egrave in un dato contesto di celle) anche se in realtagrave la variabile CELLID riporta che effettuvamente la cella attuale egrave sconosciutanon valida Questo per evitare cheil contesto di stato Cell near state possa cambiare semplicemente perchegrave si egrave interrotto il serviziotelefonico In altre parole

o CELLID riporta sempre la situazione in tempo reale (nota che la stringa riportata iniziacon GSM (eg GSM2002651372) se non cegrave collegamento telefonico riporta comese la variabile non esistesse (cioegrave il nome stesso CELLID) NOTA

o lo stato Cell near state varia solo in risposta a ID di cella validi (non cambia se la cellaattuale diviene non valida [non raggiungibilitagrave telefonica])

Variabili utili per la localizzazione net (Internet)

middot LOCN (dinamica) latitudine e longitudine dellultimo network location fix (localizzazione)

middot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNTMS (dinamica) orario (espresso in secondi) in cui egrave avvenuto lultimo network location

fix Per ottenere quanto tempo egrave trascorso dallultimo fix (cioegrave unindicazione relativa) basta sottrarloallorario attuale che egrave contenuto nella variabile TIMES (ora attuale espressa in secondi trascorsidal Gennaio 1970 notare la S finale TIME e TIMES sono due cose diverse) eg TIMES-LOCNTMS --gt n di secondi trascorsi dallultimo fixPer controllare il successo di un fix vedi piugrave sotto (in pratica salva lorario attuale tenta il fix econfronta lorario salvato con quello dellultimo fix riuscito)

Variabili utili per il GPS

middot LOC (dinamica) latitudine e longitudine dellultimo GPS fix (localizzazione)

middot LOCACC (dinamica) accuratezza in metri dellultimo GPS fix

middot LOCALT (dinamica) altezza in metri dellultimo GPS fix riporta 0 se non egrave disponibile

middot LOCSPD (dinamica) velocitagrave (metri al secondo) dellultimo GPS fix riporta 0 se non egravedisponibile

middot LOCTMS (dinamica) orario (espresso in secondi) dellultimo GPS fix Per calcolare quanti secondi sono passati dallultimo fix vedi la spiegazione giagrave fatta per la variabile

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 12: Tasker Android

12 52

modificarne i parametri in una schermata simile a questa [ad esser precisi questa egrave ledit di un evento malo schema egrave identico]

Pulsanti presenti

middot Accetta le modifiche al comando

middot Lascia perdere le modifiche al comando

middot Mostra un breve testo di aiuto sul comando (molto utile La prima volta chiede se si vuole

scaricare una volta per tutte la guida di tutti i comandi sulla scheda SDcosa che raccomando)

Sempre da questa schermata egrave possibile sostituire un comando con un altro premendo sulla riga diintestazione del comando (che nella figura ho indicato con una piccola freccia gialla)

Drag amp drop sui comandiAlcune operazioni di editing sono possibili clickando sulla estrema destra della linea di un comando(dove in genere vi egrave una piccola icona [vedi freccia gialla nella figura sottostante])

A questo punto egrave possibile trascinarlo

middot sugiugrave per spostarlo in altri punti del programma

middot oppure portandolo completamente in basso (dove nel frattempo egrave apparsa licona di un cestino) eliminarlo

13 52

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

14 52

Linguaggio

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Subroutine (Perform task)Questo comando permette di richiamare un task dallinterno di un altro task in pratica permette di chiamareuna subroutine

Il problema principale nellutilizzo egrave la gestione del rapporto di esecuzione tra task chiamante ed il nuovotask invocato infatti si puograve volere aspettare che il nuovo task abbia terminato la propria esecuzione oppureeseguire i due task contemporaneamente (ad esempio se il nuovo task non crea nulla di necessario al taskchiamante)

Questi rapporti sono regolati dalla proprietagrave Stop e dalla prioritagrave (Priority)

Possibilitagrave

middot task chiamante ha prioritagrave piugrave bassa --gt sorta di richiamo subroutine

middot I nomi dei task iniziano con la lettera maiuscola ricordatene se pensi di eseguirne unomanualmente con il comando Esegui task

middot Quando si fa partire un task con il pulsante Test gli viene assegnata unaltissima prioritagrave percui rischia di incasinare i funzionamenti delle proprietagrave in eventuali task secondari al limite conviene farpartire il task che si vuole httpgroupsgooglecomgrouptaskerbrowse_threadthreadc69984d07da62852f229345b40070597lnk=gstampq=priorityf229345b40070597

middot Quando si lancia un task da un altro task (con lazione Task launch) il parametro STOP indica seoccorra aspettare che il task richiamato debba finire prima di poter continuare la cosa non egrave da pocosoprattutto se il resto dello script lavora sui dati creati dal task richiamato inizialmente In realtagrave contanoanche le prioritagrave nel comportamento vedi sezione apposta

PROBLEMIIn realtagrave ci sono problemi nella gestione attuale (per cui lautore sta lavorando sulla prossima versione) percui al momento non riesco a fare in modo che sia atteso il termine del nuovo task prima di proseguiredandogli prioritagrave piugrave alta non cambia nulla mettendo la proprietagrave Stop lo scripting si ferma ligrave per sempre

Al momento quindi nelle routine piugrave adoperate come subroutine come ultima istruzione setto una variabileomonima alla routine+END (xxxEND)=on per essere sicuri che la routine abbia finito devo prima dichiamare il task settare la variabile xxxEND ad un valore diverso da on chiamare il task e nella istruzionesuccessiva mettere un While Until xxxEND=onun po sporco ma

Anche con tale variabile sentinella ottengo che dica solo la vrase Save settings in esecuzione ma nonarriva alla fine

Temo sia un bug

(Task A)Perform Task BSay A ended

(Task B)Say B startedSET few variablesSay B ended

15 52

Stop Priority A Priority B Resulting say No 5 0 A ended B Started B ended No 5 5 A ended B Started B ended No 5 6 A ended B Started B ended No 5 10 B started A ended B endedYes 5 10 B started B ended (no A ended script stop [disappear Kill App]Yes 5 5 B started B ended (no A ended script stop [disappear Kill App]Yes 5 0 B started B ended (no A ended script stop [disappear Kill App]

Maggiori dettagli e consigli

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread4bfc0c42513b899f38e9d290cc696468

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread1d072ff37368d8aa3eac641b90f07d03

Proposta per riuscire a fare in modo che un task aspetti il completamento dellaltroI just used the tasks that you had typed with only one change When you use the Perform Task in Task 1 I had Stop OFF Your tasks work fine this way (unless you are trying to do other things you have not mentioned) If this is the case you should probably make the Priority higher say 10 then it will do everything in the second task before continuing with the first task If you are still having a problem you could use a variable to tell Task 1 when it should continue Task T1 Varible Set WAITING to 1 Popup Title T1 Text Text 1 Perform Task Name T2 Stop OFF Wait Until WAITING Set Popup Title T3 Text Text 3 Task T2 Popup Title T2 Text Text 2 Varible Clear WAITING

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Prioritagrave

La prioritagrave di un task dipende da molti fattori

middot Un task avviato con il pulsante Test delleditor ha una super-prioritagrave

middot I task shortcutwidget hanno la prioritagrave impostata nel menu di Tasker Prefs Action setting (globalsetting)

middot Nel caso di Perform task dipende dalla proprietagrave di questa action

middot Vi egrave anche un qualcosa che riguarda i profili

middot Se devi mettere una prioritagrave alta al max adopera 9 ( e non 10 sembra fare casini)

In realtagrave la cosa egrave piugrave complicata vedi httpgroupsgooglecomgrouptaskerbrowse_threadthreada7c32914ae697898253da51e02b56ac3lnk=gstampq=priority253da51e02b56ac3

Created with the Personal Edition of HelpNDoc Free help authoring environment

LocalizzazioneE un sistema un po complesso da far funzionare correttamente

Tasker egrave in grado di sfruttare diversi sistemi di localizzazione geografica

middot Celle telefoniche molto impreciso (anche di km) resiste abbastanza anche al chiuso non comportaconsumo in piugrave rispetto al normale utilizzo telefonico

16 52

middot Rete Internet [net] forse sfrutta tipo una sorta di IP o simili

middot Rete WiFi (amp Internet) si basa su mappe di distribuzione dei punti di accesso WiFi (mappeconsultabile tramite Google) sapendo che una data rete WiFi si trova in un specifico contestogeografico risale alla localizzazione attuale Poichegrave le mappe sono online egrave necessario laccesso adInternet (motivo per cui la localizzazione WiFi richiede anche laccesso alla rete Internet [anche sechiaramente il WiFI in segrave ne egrave indipendente come rete])

middot GPS molto preciso (anche nellordine delle decine di metri) difficilmente funziona al chiuso consumaparecchia batteria

Il permesso di adoperare la localizzazione legata alle reti (telefoniche o WiFi) oppure al GPS egravecontrollata da specifiche impostazioni in Android da notare che sono una cosa diversa dalla sempliceattivazione della rete WiFi scambio dati (ad esempio per la localizzazione con WiFi occorre che siaattivo il modulo WiFi del cellulare ma ANCHE abilitatapermessa la localizzazione tramite reti) Al momento non credo sia possibile cambiare il permesso di localizzazione tramite Tasker suppongo siaun fatto di sicurezzaprivacy (per evitare che un programma ci possa tracciare di nascosto) daltra partetenerlo sempre acceso non credo comporti nessun consumo in piugrave in quanto costituisce una sempliceautorizzazione allutilizzo dei dati per la localizzazione ma in segrave non attiva nessuna rete o dispositivo (cosache eventualmente dovragrave essere fatta a parte)

Chiaramente egrave importante la frequenza con cui vengono controllate le fonti della attuale localizzazioneIn genere esistono

middot una frequenza di controllo con dispositivo acceso (display on) specifica per ogni modalitagrave dilocalizzazione

middot una frequenza di controllo a dispositivo spento (display off) comune a tutte le fonti per minimizzare iltempo di attivazione del dispositivo per effetuare i controlli (nel menu Display Off Settings egrave possibileimpostare sia la frequenza che la massima durata dei controlli)

Il servizio di localizzazione presuppone di trovarsi sempre nel punto ricavato dallultima localizzazione

Questi sistemi vengono sfruttati per 2 scopi

middot Conoscere esattamente il punto dove ci si trova (possibilmente al metro) ad esempio per dire dove citroviamo per farci raggiungere (positionlocation)

Per questo scopo si possono adoperare

o Rete internet [net] consuma poco (poco in piugrave rispetto al normale uso telefonico purchegrave siadisponibile un network) ma la precisione varia enormemente e richiede sia il collegamento allarete (network internet suppongo) che quello telefonico (phone service)Per impostarla occorre creare un location context e disattivare il GPS egrave importante impostareun raggio ampio intorno alla posizione di interesse (la frequenza di controllo egrave regolabile sia adisplay spento che acceso)

o Rete WiFi E Internet [net] maggiore consumo precisione molto variabile (buona in areepopolose) necessita sia di rete Internet (net) che WIFiPer impostarlo occorre creare un location context disattivare il GPS ed attivare il WiFi perottenere una maggiore precisionePer registrarlo occorre recarsi sul posto almeno 1 volta

o GPS alto consumo alta precisione allaperto molti problemi al chiusoPer impostarlo occorre creare un location context e deselezionare NetLa frequenza di controllo a dispositivo acceso egrave impostabile come pure quella del dispositivospento (in comune con altre fonti di localizzazione) Si puograve impostare anche il GPS Timeout che specifica quanto tempo debba continuare iltentativo di ottenere una localizzazione GPS (chiaramente questo influenza sia la capacitagrave distabilire una localizzazione ma anche il consumo della batteria)Poichegrave il controllo della posizione GPS non egrave continuo (ma ad intervalli) e dato che al chiusonon riesce a stabilire la posizione se dalla posizione A (localizzata) si passa nella posizione B

17 52

al chiuso (no segnale no localizzazione) il dispositivo faragrave riferimento allultima posizionestabilita (fix) per cui crederagrave di essere ancora in A (cambieragrave idea quando usciragrave allaperto edavverragrave un fix) NOTA sono 2 cose distintesect la predisposizione dellhardware (GPS on con Tasker oppure premere il pulsante

nella tray)sect e lutilizzo effettivo per localizzazione (che avviene con GetLocation in Tasker

oppure facendo partire un programma che usa il GPS) solo in questo secondopassaggio appariragrave licona lampeggiante (e poi stabile) nella tray chiaramente perograve nonpotragrave apparire mai se lhardware egrave scollegato

middot Sapere in quale AREA (piugrave vasta) ci si trova eg per fare qualcosa se ci troviamo in ambito casalingo(status)

Per questo si possono adoperare

o Stato di vicinanza a celle telefoniche consuma pochissimo (pari al normale funzionamentotelefonico) molto impreciso (ma resiste abbastanza bene al chiuso) Laggiornamento avviene secondo un frequenza regolabile quando il display egrave spento mentre adisplay acceso laggiornamento avviene appena la cella egrave visibile (as soon as the tower isvisible)Per adoperarlo occorre impostare uno state context con Cell near -gt Update mentre ci simuove nellarea di interesse (dunque egrave necessario recarcisivi almeno una volta)

o Stato di vicinanza a reti wifi consuma abbastanza (ma meno del GPS) buona la precisionenecessita di un accesso WIFi nei paraggi funziona anche al chiusoPer adoperarlo occorre impostare uno state context con WiFi near ed imposta il SSID(identificatore di rete) del miglior segnale WiFi che vuoi utilizzareidentificareQuesta funzione fa regolari controlli delle reti WiFi e scatta lattivazione se riconosce un puntodi accesso tra quelli impostati da notare che non serve collegarsi alla rete WiFi basta che siaricevibile (motivo per cui si puograve anche sfruttare la rete magari piugrave forte del vicino) Se si vuol evitare di mantenere acceso il WiFi in continuazione basta attivare la casella dicontrollo WiFi Toggle in questo modo verragrave attivato da Tasker solo quando necessiteragrave dieffettuare i controlli delle reti presenti

Rapporto tra consumo e precisione

MetodoConsumoenergetico

PrecisioneNecessita diinternet [net]

Necessita delWiFi

Stato vicinanza a celletelefoniche [State]

Posizione rete internet[Location][Net]

Sigrave

Posizione rete internet amp Wifi Sigrave Sigrave

Stato vicinanza a WiFi Sigrave

Posizione GPS Sigrave

Ad un numero maggiore di stelle corrisponde maggior consumo o precisione (a seconda della colonna)

Tasker adotta delle strategie per limitare il consumo energetico ad esempio in caso di piugrave contesti nelmedesimo profilo dapprima aspetteragrave che si attivino quelli a minor dispendio energetico e solo inseguito controlleragrave gli altri

18 52

Ad esempio per capire se si egrave a casa si puograve creare un profilo con doppio contesto che adopera sia unaposizione Internet [Location Net] che uno stato WiFi near Tasker effettueragrave i controlli WIFi soloquando ci si troveragrave nel quartiere

Variabili predefinite

Sono disponibili alcune variabili predefinite per controllare la localizzazione

Variabili utili per le celle telefoniche

middot CELLID (dinamica monitorata) riporta lattuale cella telefonica se nota Da notare che il Cell near state (cioegrave lo stato legato alla vicinanza ad una specifica cella) puograverimanere attivo (cioegrave indicare che si egrave in un dato contesto di celle) anche se in realtagrave la variabile CELLID riporta che effettuvamente la cella attuale egrave sconosciutanon valida Questo per evitare cheil contesto di stato Cell near state possa cambiare semplicemente perchegrave si egrave interrotto il serviziotelefonico In altre parole

o CELLID riporta sempre la situazione in tempo reale (nota che la stringa riportata iniziacon GSM (eg GSM2002651372) se non cegrave collegamento telefonico riporta comese la variabile non esistesse (cioegrave il nome stesso CELLID) NOTA

o lo stato Cell near state varia solo in risposta a ID di cella validi (non cambia se la cellaattuale diviene non valida [non raggiungibilitagrave telefonica])

Variabili utili per la localizzazione net (Internet)

middot LOCN (dinamica) latitudine e longitudine dellultimo network location fix (localizzazione)

middot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNTMS (dinamica) orario (espresso in secondi) in cui egrave avvenuto lultimo network location

fix Per ottenere quanto tempo egrave trascorso dallultimo fix (cioegrave unindicazione relativa) basta sottrarloallorario attuale che egrave contenuto nella variabile TIMES (ora attuale espressa in secondi trascorsidal Gennaio 1970 notare la S finale TIME e TIMES sono due cose diverse) eg TIMES-LOCNTMS --gt n di secondi trascorsi dallultimo fixPer controllare il successo di un fix vedi piugrave sotto (in pratica salva lorario attuale tenta il fix econfronta lorario salvato con quello dellultimo fix riuscito)

Variabili utili per il GPS

middot LOC (dinamica) latitudine e longitudine dellultimo GPS fix (localizzazione)

middot LOCACC (dinamica) accuratezza in metri dellultimo GPS fix

middot LOCALT (dinamica) altezza in metri dellultimo GPS fix riporta 0 se non egrave disponibile

middot LOCSPD (dinamica) velocitagrave (metri al secondo) dellultimo GPS fix riporta 0 se non egravedisponibile

middot LOCTMS (dinamica) orario (espresso in secondi) dellultimo GPS fix Per calcolare quanti secondi sono passati dallultimo fix vedi la spiegazione giagrave fatta per la variabile

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 13: Tasker Android

13 52

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

14 52

Linguaggio

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Subroutine (Perform task)Questo comando permette di richiamare un task dallinterno di un altro task in pratica permette di chiamareuna subroutine

Il problema principale nellutilizzo egrave la gestione del rapporto di esecuzione tra task chiamante ed il nuovotask invocato infatti si puograve volere aspettare che il nuovo task abbia terminato la propria esecuzione oppureeseguire i due task contemporaneamente (ad esempio se il nuovo task non crea nulla di necessario al taskchiamante)

Questi rapporti sono regolati dalla proprietagrave Stop e dalla prioritagrave (Priority)

Possibilitagrave

middot task chiamante ha prioritagrave piugrave bassa --gt sorta di richiamo subroutine

middot I nomi dei task iniziano con la lettera maiuscola ricordatene se pensi di eseguirne unomanualmente con il comando Esegui task

middot Quando si fa partire un task con il pulsante Test gli viene assegnata unaltissima prioritagrave percui rischia di incasinare i funzionamenti delle proprietagrave in eventuali task secondari al limite conviene farpartire il task che si vuole httpgroupsgooglecomgrouptaskerbrowse_threadthreadc69984d07da62852f229345b40070597lnk=gstampq=priorityf229345b40070597

middot Quando si lancia un task da un altro task (con lazione Task launch) il parametro STOP indica seoccorra aspettare che il task richiamato debba finire prima di poter continuare la cosa non egrave da pocosoprattutto se il resto dello script lavora sui dati creati dal task richiamato inizialmente In realtagrave contanoanche le prioritagrave nel comportamento vedi sezione apposta

PROBLEMIIn realtagrave ci sono problemi nella gestione attuale (per cui lautore sta lavorando sulla prossima versione) percui al momento non riesco a fare in modo che sia atteso il termine del nuovo task prima di proseguiredandogli prioritagrave piugrave alta non cambia nulla mettendo la proprietagrave Stop lo scripting si ferma ligrave per sempre

Al momento quindi nelle routine piugrave adoperate come subroutine come ultima istruzione setto una variabileomonima alla routine+END (xxxEND)=on per essere sicuri che la routine abbia finito devo prima dichiamare il task settare la variabile xxxEND ad un valore diverso da on chiamare il task e nella istruzionesuccessiva mettere un While Until xxxEND=onun po sporco ma

Anche con tale variabile sentinella ottengo che dica solo la vrase Save settings in esecuzione ma nonarriva alla fine

Temo sia un bug

(Task A)Perform Task BSay A ended

(Task B)Say B startedSET few variablesSay B ended

15 52

Stop Priority A Priority B Resulting say No 5 0 A ended B Started B ended No 5 5 A ended B Started B ended No 5 6 A ended B Started B ended No 5 10 B started A ended B endedYes 5 10 B started B ended (no A ended script stop [disappear Kill App]Yes 5 5 B started B ended (no A ended script stop [disappear Kill App]Yes 5 0 B started B ended (no A ended script stop [disappear Kill App]

Maggiori dettagli e consigli

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread4bfc0c42513b899f38e9d290cc696468

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread1d072ff37368d8aa3eac641b90f07d03

Proposta per riuscire a fare in modo che un task aspetti il completamento dellaltroI just used the tasks that you had typed with only one change When you use the Perform Task in Task 1 I had Stop OFF Your tasks work fine this way (unless you are trying to do other things you have not mentioned) If this is the case you should probably make the Priority higher say 10 then it will do everything in the second task before continuing with the first task If you are still having a problem you could use a variable to tell Task 1 when it should continue Task T1 Varible Set WAITING to 1 Popup Title T1 Text Text 1 Perform Task Name T2 Stop OFF Wait Until WAITING Set Popup Title T3 Text Text 3 Task T2 Popup Title T2 Text Text 2 Varible Clear WAITING

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Prioritagrave

La prioritagrave di un task dipende da molti fattori

middot Un task avviato con il pulsante Test delleditor ha una super-prioritagrave

middot I task shortcutwidget hanno la prioritagrave impostata nel menu di Tasker Prefs Action setting (globalsetting)

middot Nel caso di Perform task dipende dalla proprietagrave di questa action

middot Vi egrave anche un qualcosa che riguarda i profili

middot Se devi mettere una prioritagrave alta al max adopera 9 ( e non 10 sembra fare casini)

In realtagrave la cosa egrave piugrave complicata vedi httpgroupsgooglecomgrouptaskerbrowse_threadthreada7c32914ae697898253da51e02b56ac3lnk=gstampq=priority253da51e02b56ac3

Created with the Personal Edition of HelpNDoc Free help authoring environment

LocalizzazioneE un sistema un po complesso da far funzionare correttamente

Tasker egrave in grado di sfruttare diversi sistemi di localizzazione geografica

middot Celle telefoniche molto impreciso (anche di km) resiste abbastanza anche al chiuso non comportaconsumo in piugrave rispetto al normale utilizzo telefonico

16 52

middot Rete Internet [net] forse sfrutta tipo una sorta di IP o simili

middot Rete WiFi (amp Internet) si basa su mappe di distribuzione dei punti di accesso WiFi (mappeconsultabile tramite Google) sapendo che una data rete WiFi si trova in un specifico contestogeografico risale alla localizzazione attuale Poichegrave le mappe sono online egrave necessario laccesso adInternet (motivo per cui la localizzazione WiFi richiede anche laccesso alla rete Internet [anche sechiaramente il WiFI in segrave ne egrave indipendente come rete])

middot GPS molto preciso (anche nellordine delle decine di metri) difficilmente funziona al chiuso consumaparecchia batteria

Il permesso di adoperare la localizzazione legata alle reti (telefoniche o WiFi) oppure al GPS egravecontrollata da specifiche impostazioni in Android da notare che sono una cosa diversa dalla sempliceattivazione della rete WiFi scambio dati (ad esempio per la localizzazione con WiFi occorre che siaattivo il modulo WiFi del cellulare ma ANCHE abilitatapermessa la localizzazione tramite reti) Al momento non credo sia possibile cambiare il permesso di localizzazione tramite Tasker suppongo siaun fatto di sicurezzaprivacy (per evitare che un programma ci possa tracciare di nascosto) daltra partetenerlo sempre acceso non credo comporti nessun consumo in piugrave in quanto costituisce una sempliceautorizzazione allutilizzo dei dati per la localizzazione ma in segrave non attiva nessuna rete o dispositivo (cosache eventualmente dovragrave essere fatta a parte)

Chiaramente egrave importante la frequenza con cui vengono controllate le fonti della attuale localizzazioneIn genere esistono

middot una frequenza di controllo con dispositivo acceso (display on) specifica per ogni modalitagrave dilocalizzazione

middot una frequenza di controllo a dispositivo spento (display off) comune a tutte le fonti per minimizzare iltempo di attivazione del dispositivo per effetuare i controlli (nel menu Display Off Settings egrave possibileimpostare sia la frequenza che la massima durata dei controlli)

Il servizio di localizzazione presuppone di trovarsi sempre nel punto ricavato dallultima localizzazione

Questi sistemi vengono sfruttati per 2 scopi

middot Conoscere esattamente il punto dove ci si trova (possibilmente al metro) ad esempio per dire dove citroviamo per farci raggiungere (positionlocation)

Per questo scopo si possono adoperare

o Rete internet [net] consuma poco (poco in piugrave rispetto al normale uso telefonico purchegrave siadisponibile un network) ma la precisione varia enormemente e richiede sia il collegamento allarete (network internet suppongo) che quello telefonico (phone service)Per impostarla occorre creare un location context e disattivare il GPS egrave importante impostareun raggio ampio intorno alla posizione di interesse (la frequenza di controllo egrave regolabile sia adisplay spento che acceso)

o Rete WiFi E Internet [net] maggiore consumo precisione molto variabile (buona in areepopolose) necessita sia di rete Internet (net) che WIFiPer impostarlo occorre creare un location context disattivare il GPS ed attivare il WiFi perottenere una maggiore precisionePer registrarlo occorre recarsi sul posto almeno 1 volta

o GPS alto consumo alta precisione allaperto molti problemi al chiusoPer impostarlo occorre creare un location context e deselezionare NetLa frequenza di controllo a dispositivo acceso egrave impostabile come pure quella del dispositivospento (in comune con altre fonti di localizzazione) Si puograve impostare anche il GPS Timeout che specifica quanto tempo debba continuare iltentativo di ottenere una localizzazione GPS (chiaramente questo influenza sia la capacitagrave distabilire una localizzazione ma anche il consumo della batteria)Poichegrave il controllo della posizione GPS non egrave continuo (ma ad intervalli) e dato che al chiusonon riesce a stabilire la posizione se dalla posizione A (localizzata) si passa nella posizione B

17 52

al chiuso (no segnale no localizzazione) il dispositivo faragrave riferimento allultima posizionestabilita (fix) per cui crederagrave di essere ancora in A (cambieragrave idea quando usciragrave allaperto edavverragrave un fix) NOTA sono 2 cose distintesect la predisposizione dellhardware (GPS on con Tasker oppure premere il pulsante

nella tray)sect e lutilizzo effettivo per localizzazione (che avviene con GetLocation in Tasker

oppure facendo partire un programma che usa il GPS) solo in questo secondopassaggio appariragrave licona lampeggiante (e poi stabile) nella tray chiaramente perograve nonpotragrave apparire mai se lhardware egrave scollegato

middot Sapere in quale AREA (piugrave vasta) ci si trova eg per fare qualcosa se ci troviamo in ambito casalingo(status)

Per questo si possono adoperare

o Stato di vicinanza a celle telefoniche consuma pochissimo (pari al normale funzionamentotelefonico) molto impreciso (ma resiste abbastanza bene al chiuso) Laggiornamento avviene secondo un frequenza regolabile quando il display egrave spento mentre adisplay acceso laggiornamento avviene appena la cella egrave visibile (as soon as the tower isvisible)Per adoperarlo occorre impostare uno state context con Cell near -gt Update mentre ci simuove nellarea di interesse (dunque egrave necessario recarcisivi almeno una volta)

o Stato di vicinanza a reti wifi consuma abbastanza (ma meno del GPS) buona la precisionenecessita di un accesso WIFi nei paraggi funziona anche al chiusoPer adoperarlo occorre impostare uno state context con WiFi near ed imposta il SSID(identificatore di rete) del miglior segnale WiFi che vuoi utilizzareidentificareQuesta funzione fa regolari controlli delle reti WiFi e scatta lattivazione se riconosce un puntodi accesso tra quelli impostati da notare che non serve collegarsi alla rete WiFi basta che siaricevibile (motivo per cui si puograve anche sfruttare la rete magari piugrave forte del vicino) Se si vuol evitare di mantenere acceso il WiFi in continuazione basta attivare la casella dicontrollo WiFi Toggle in questo modo verragrave attivato da Tasker solo quando necessiteragrave dieffettuare i controlli delle reti presenti

Rapporto tra consumo e precisione

MetodoConsumoenergetico

PrecisioneNecessita diinternet [net]

Necessita delWiFi

Stato vicinanza a celletelefoniche [State]

Posizione rete internet[Location][Net]

Sigrave

Posizione rete internet amp Wifi Sigrave Sigrave

Stato vicinanza a WiFi Sigrave

Posizione GPS Sigrave

Ad un numero maggiore di stelle corrisponde maggior consumo o precisione (a seconda della colonna)

Tasker adotta delle strategie per limitare il consumo energetico ad esempio in caso di piugrave contesti nelmedesimo profilo dapprima aspetteragrave che si attivino quelli a minor dispendio energetico e solo inseguito controlleragrave gli altri

18 52

Ad esempio per capire se si egrave a casa si puograve creare un profilo con doppio contesto che adopera sia unaposizione Internet [Location Net] che uno stato WiFi near Tasker effettueragrave i controlli WIFi soloquando ci si troveragrave nel quartiere

Variabili predefinite

Sono disponibili alcune variabili predefinite per controllare la localizzazione

Variabili utili per le celle telefoniche

middot CELLID (dinamica monitorata) riporta lattuale cella telefonica se nota Da notare che il Cell near state (cioegrave lo stato legato alla vicinanza ad una specifica cella) puograverimanere attivo (cioegrave indicare che si egrave in un dato contesto di celle) anche se in realtagrave la variabile CELLID riporta che effettuvamente la cella attuale egrave sconosciutanon valida Questo per evitare cheil contesto di stato Cell near state possa cambiare semplicemente perchegrave si egrave interrotto il serviziotelefonico In altre parole

o CELLID riporta sempre la situazione in tempo reale (nota che la stringa riportata iniziacon GSM (eg GSM2002651372) se non cegrave collegamento telefonico riporta comese la variabile non esistesse (cioegrave il nome stesso CELLID) NOTA

o lo stato Cell near state varia solo in risposta a ID di cella validi (non cambia se la cellaattuale diviene non valida [non raggiungibilitagrave telefonica])

Variabili utili per la localizzazione net (Internet)

middot LOCN (dinamica) latitudine e longitudine dellultimo network location fix (localizzazione)

middot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNTMS (dinamica) orario (espresso in secondi) in cui egrave avvenuto lultimo network location

fix Per ottenere quanto tempo egrave trascorso dallultimo fix (cioegrave unindicazione relativa) basta sottrarloallorario attuale che egrave contenuto nella variabile TIMES (ora attuale espressa in secondi trascorsidal Gennaio 1970 notare la S finale TIME e TIMES sono due cose diverse) eg TIMES-LOCNTMS --gt n di secondi trascorsi dallultimo fixPer controllare il successo di un fix vedi piugrave sotto (in pratica salva lorario attuale tenta il fix econfronta lorario salvato con quello dellultimo fix riuscito)

Variabili utili per il GPS

middot LOC (dinamica) latitudine e longitudine dellultimo GPS fix (localizzazione)

middot LOCACC (dinamica) accuratezza in metri dellultimo GPS fix

middot LOCALT (dinamica) altezza in metri dellultimo GPS fix riporta 0 se non egrave disponibile

middot LOCSPD (dinamica) velocitagrave (metri al secondo) dellultimo GPS fix riporta 0 se non egravedisponibile

middot LOCTMS (dinamica) orario (espresso in secondi) dellultimo GPS fix Per calcolare quanti secondi sono passati dallultimo fix vedi la spiegazione giagrave fatta per la variabile

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 14: Tasker Android

14 52

Linguaggio

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Subroutine (Perform task)Questo comando permette di richiamare un task dallinterno di un altro task in pratica permette di chiamareuna subroutine

Il problema principale nellutilizzo egrave la gestione del rapporto di esecuzione tra task chiamante ed il nuovotask invocato infatti si puograve volere aspettare che il nuovo task abbia terminato la propria esecuzione oppureeseguire i due task contemporaneamente (ad esempio se il nuovo task non crea nulla di necessario al taskchiamante)

Questi rapporti sono regolati dalla proprietagrave Stop e dalla prioritagrave (Priority)

Possibilitagrave

middot task chiamante ha prioritagrave piugrave bassa --gt sorta di richiamo subroutine

middot I nomi dei task iniziano con la lettera maiuscola ricordatene se pensi di eseguirne unomanualmente con il comando Esegui task

middot Quando si fa partire un task con il pulsante Test gli viene assegnata unaltissima prioritagrave percui rischia di incasinare i funzionamenti delle proprietagrave in eventuali task secondari al limite conviene farpartire il task che si vuole httpgroupsgooglecomgrouptaskerbrowse_threadthreadc69984d07da62852f229345b40070597lnk=gstampq=priorityf229345b40070597

middot Quando si lancia un task da un altro task (con lazione Task launch) il parametro STOP indica seoccorra aspettare che il task richiamato debba finire prima di poter continuare la cosa non egrave da pocosoprattutto se il resto dello script lavora sui dati creati dal task richiamato inizialmente In realtagrave contanoanche le prioritagrave nel comportamento vedi sezione apposta

PROBLEMIIn realtagrave ci sono problemi nella gestione attuale (per cui lautore sta lavorando sulla prossima versione) percui al momento non riesco a fare in modo che sia atteso il termine del nuovo task prima di proseguiredandogli prioritagrave piugrave alta non cambia nulla mettendo la proprietagrave Stop lo scripting si ferma ligrave per sempre

Al momento quindi nelle routine piugrave adoperate come subroutine come ultima istruzione setto una variabileomonima alla routine+END (xxxEND)=on per essere sicuri che la routine abbia finito devo prima dichiamare il task settare la variabile xxxEND ad un valore diverso da on chiamare il task e nella istruzionesuccessiva mettere un While Until xxxEND=onun po sporco ma

Anche con tale variabile sentinella ottengo che dica solo la vrase Save settings in esecuzione ma nonarriva alla fine

Temo sia un bug

(Task A)Perform Task BSay A ended

(Task B)Say B startedSET few variablesSay B ended

15 52

Stop Priority A Priority B Resulting say No 5 0 A ended B Started B ended No 5 5 A ended B Started B ended No 5 6 A ended B Started B ended No 5 10 B started A ended B endedYes 5 10 B started B ended (no A ended script stop [disappear Kill App]Yes 5 5 B started B ended (no A ended script stop [disappear Kill App]Yes 5 0 B started B ended (no A ended script stop [disappear Kill App]

Maggiori dettagli e consigli

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread4bfc0c42513b899f38e9d290cc696468

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread1d072ff37368d8aa3eac641b90f07d03

Proposta per riuscire a fare in modo che un task aspetti il completamento dellaltroI just used the tasks that you had typed with only one change When you use the Perform Task in Task 1 I had Stop OFF Your tasks work fine this way (unless you are trying to do other things you have not mentioned) If this is the case you should probably make the Priority higher say 10 then it will do everything in the second task before continuing with the first task If you are still having a problem you could use a variable to tell Task 1 when it should continue Task T1 Varible Set WAITING to 1 Popup Title T1 Text Text 1 Perform Task Name T2 Stop OFF Wait Until WAITING Set Popup Title T3 Text Text 3 Task T2 Popup Title T2 Text Text 2 Varible Clear WAITING

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Prioritagrave

La prioritagrave di un task dipende da molti fattori

middot Un task avviato con il pulsante Test delleditor ha una super-prioritagrave

middot I task shortcutwidget hanno la prioritagrave impostata nel menu di Tasker Prefs Action setting (globalsetting)

middot Nel caso di Perform task dipende dalla proprietagrave di questa action

middot Vi egrave anche un qualcosa che riguarda i profili

middot Se devi mettere una prioritagrave alta al max adopera 9 ( e non 10 sembra fare casini)

In realtagrave la cosa egrave piugrave complicata vedi httpgroupsgooglecomgrouptaskerbrowse_threadthreada7c32914ae697898253da51e02b56ac3lnk=gstampq=priority253da51e02b56ac3

Created with the Personal Edition of HelpNDoc Free help authoring environment

LocalizzazioneE un sistema un po complesso da far funzionare correttamente

Tasker egrave in grado di sfruttare diversi sistemi di localizzazione geografica

middot Celle telefoniche molto impreciso (anche di km) resiste abbastanza anche al chiuso non comportaconsumo in piugrave rispetto al normale utilizzo telefonico

16 52

middot Rete Internet [net] forse sfrutta tipo una sorta di IP o simili

middot Rete WiFi (amp Internet) si basa su mappe di distribuzione dei punti di accesso WiFi (mappeconsultabile tramite Google) sapendo che una data rete WiFi si trova in un specifico contestogeografico risale alla localizzazione attuale Poichegrave le mappe sono online egrave necessario laccesso adInternet (motivo per cui la localizzazione WiFi richiede anche laccesso alla rete Internet [anche sechiaramente il WiFI in segrave ne egrave indipendente come rete])

middot GPS molto preciso (anche nellordine delle decine di metri) difficilmente funziona al chiuso consumaparecchia batteria

Il permesso di adoperare la localizzazione legata alle reti (telefoniche o WiFi) oppure al GPS egravecontrollata da specifiche impostazioni in Android da notare che sono una cosa diversa dalla sempliceattivazione della rete WiFi scambio dati (ad esempio per la localizzazione con WiFi occorre che siaattivo il modulo WiFi del cellulare ma ANCHE abilitatapermessa la localizzazione tramite reti) Al momento non credo sia possibile cambiare il permesso di localizzazione tramite Tasker suppongo siaun fatto di sicurezzaprivacy (per evitare che un programma ci possa tracciare di nascosto) daltra partetenerlo sempre acceso non credo comporti nessun consumo in piugrave in quanto costituisce una sempliceautorizzazione allutilizzo dei dati per la localizzazione ma in segrave non attiva nessuna rete o dispositivo (cosache eventualmente dovragrave essere fatta a parte)

Chiaramente egrave importante la frequenza con cui vengono controllate le fonti della attuale localizzazioneIn genere esistono

middot una frequenza di controllo con dispositivo acceso (display on) specifica per ogni modalitagrave dilocalizzazione

middot una frequenza di controllo a dispositivo spento (display off) comune a tutte le fonti per minimizzare iltempo di attivazione del dispositivo per effetuare i controlli (nel menu Display Off Settings egrave possibileimpostare sia la frequenza che la massima durata dei controlli)

Il servizio di localizzazione presuppone di trovarsi sempre nel punto ricavato dallultima localizzazione

Questi sistemi vengono sfruttati per 2 scopi

middot Conoscere esattamente il punto dove ci si trova (possibilmente al metro) ad esempio per dire dove citroviamo per farci raggiungere (positionlocation)

Per questo scopo si possono adoperare

o Rete internet [net] consuma poco (poco in piugrave rispetto al normale uso telefonico purchegrave siadisponibile un network) ma la precisione varia enormemente e richiede sia il collegamento allarete (network internet suppongo) che quello telefonico (phone service)Per impostarla occorre creare un location context e disattivare il GPS egrave importante impostareun raggio ampio intorno alla posizione di interesse (la frequenza di controllo egrave regolabile sia adisplay spento che acceso)

o Rete WiFi E Internet [net] maggiore consumo precisione molto variabile (buona in areepopolose) necessita sia di rete Internet (net) che WIFiPer impostarlo occorre creare un location context disattivare il GPS ed attivare il WiFi perottenere una maggiore precisionePer registrarlo occorre recarsi sul posto almeno 1 volta

o GPS alto consumo alta precisione allaperto molti problemi al chiusoPer impostarlo occorre creare un location context e deselezionare NetLa frequenza di controllo a dispositivo acceso egrave impostabile come pure quella del dispositivospento (in comune con altre fonti di localizzazione) Si puograve impostare anche il GPS Timeout che specifica quanto tempo debba continuare iltentativo di ottenere una localizzazione GPS (chiaramente questo influenza sia la capacitagrave distabilire una localizzazione ma anche il consumo della batteria)Poichegrave il controllo della posizione GPS non egrave continuo (ma ad intervalli) e dato che al chiusonon riesce a stabilire la posizione se dalla posizione A (localizzata) si passa nella posizione B

17 52

al chiuso (no segnale no localizzazione) il dispositivo faragrave riferimento allultima posizionestabilita (fix) per cui crederagrave di essere ancora in A (cambieragrave idea quando usciragrave allaperto edavverragrave un fix) NOTA sono 2 cose distintesect la predisposizione dellhardware (GPS on con Tasker oppure premere il pulsante

nella tray)sect e lutilizzo effettivo per localizzazione (che avviene con GetLocation in Tasker

oppure facendo partire un programma che usa il GPS) solo in questo secondopassaggio appariragrave licona lampeggiante (e poi stabile) nella tray chiaramente perograve nonpotragrave apparire mai se lhardware egrave scollegato

middot Sapere in quale AREA (piugrave vasta) ci si trova eg per fare qualcosa se ci troviamo in ambito casalingo(status)

Per questo si possono adoperare

o Stato di vicinanza a celle telefoniche consuma pochissimo (pari al normale funzionamentotelefonico) molto impreciso (ma resiste abbastanza bene al chiuso) Laggiornamento avviene secondo un frequenza regolabile quando il display egrave spento mentre adisplay acceso laggiornamento avviene appena la cella egrave visibile (as soon as the tower isvisible)Per adoperarlo occorre impostare uno state context con Cell near -gt Update mentre ci simuove nellarea di interesse (dunque egrave necessario recarcisivi almeno una volta)

o Stato di vicinanza a reti wifi consuma abbastanza (ma meno del GPS) buona la precisionenecessita di un accesso WIFi nei paraggi funziona anche al chiusoPer adoperarlo occorre impostare uno state context con WiFi near ed imposta il SSID(identificatore di rete) del miglior segnale WiFi che vuoi utilizzareidentificareQuesta funzione fa regolari controlli delle reti WiFi e scatta lattivazione se riconosce un puntodi accesso tra quelli impostati da notare che non serve collegarsi alla rete WiFi basta che siaricevibile (motivo per cui si puograve anche sfruttare la rete magari piugrave forte del vicino) Se si vuol evitare di mantenere acceso il WiFi in continuazione basta attivare la casella dicontrollo WiFi Toggle in questo modo verragrave attivato da Tasker solo quando necessiteragrave dieffettuare i controlli delle reti presenti

Rapporto tra consumo e precisione

MetodoConsumoenergetico

PrecisioneNecessita diinternet [net]

Necessita delWiFi

Stato vicinanza a celletelefoniche [State]

Posizione rete internet[Location][Net]

Sigrave

Posizione rete internet amp Wifi Sigrave Sigrave

Stato vicinanza a WiFi Sigrave

Posizione GPS Sigrave

Ad un numero maggiore di stelle corrisponde maggior consumo o precisione (a seconda della colonna)

Tasker adotta delle strategie per limitare il consumo energetico ad esempio in caso di piugrave contesti nelmedesimo profilo dapprima aspetteragrave che si attivino quelli a minor dispendio energetico e solo inseguito controlleragrave gli altri

18 52

Ad esempio per capire se si egrave a casa si puograve creare un profilo con doppio contesto che adopera sia unaposizione Internet [Location Net] che uno stato WiFi near Tasker effettueragrave i controlli WIFi soloquando ci si troveragrave nel quartiere

Variabili predefinite

Sono disponibili alcune variabili predefinite per controllare la localizzazione

Variabili utili per le celle telefoniche

middot CELLID (dinamica monitorata) riporta lattuale cella telefonica se nota Da notare che il Cell near state (cioegrave lo stato legato alla vicinanza ad una specifica cella) puograverimanere attivo (cioegrave indicare che si egrave in un dato contesto di celle) anche se in realtagrave la variabile CELLID riporta che effettuvamente la cella attuale egrave sconosciutanon valida Questo per evitare cheil contesto di stato Cell near state possa cambiare semplicemente perchegrave si egrave interrotto il serviziotelefonico In altre parole

o CELLID riporta sempre la situazione in tempo reale (nota che la stringa riportata iniziacon GSM (eg GSM2002651372) se non cegrave collegamento telefonico riporta comese la variabile non esistesse (cioegrave il nome stesso CELLID) NOTA

o lo stato Cell near state varia solo in risposta a ID di cella validi (non cambia se la cellaattuale diviene non valida [non raggiungibilitagrave telefonica])

Variabili utili per la localizzazione net (Internet)

middot LOCN (dinamica) latitudine e longitudine dellultimo network location fix (localizzazione)

middot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNTMS (dinamica) orario (espresso in secondi) in cui egrave avvenuto lultimo network location

fix Per ottenere quanto tempo egrave trascorso dallultimo fix (cioegrave unindicazione relativa) basta sottrarloallorario attuale che egrave contenuto nella variabile TIMES (ora attuale espressa in secondi trascorsidal Gennaio 1970 notare la S finale TIME e TIMES sono due cose diverse) eg TIMES-LOCNTMS --gt n di secondi trascorsi dallultimo fixPer controllare il successo di un fix vedi piugrave sotto (in pratica salva lorario attuale tenta il fix econfronta lorario salvato con quello dellultimo fix riuscito)

Variabili utili per il GPS

middot LOC (dinamica) latitudine e longitudine dellultimo GPS fix (localizzazione)

middot LOCACC (dinamica) accuratezza in metri dellultimo GPS fix

middot LOCALT (dinamica) altezza in metri dellultimo GPS fix riporta 0 se non egrave disponibile

middot LOCSPD (dinamica) velocitagrave (metri al secondo) dellultimo GPS fix riporta 0 se non egravedisponibile

middot LOCTMS (dinamica) orario (espresso in secondi) dellultimo GPS fix Per calcolare quanti secondi sono passati dallultimo fix vedi la spiegazione giagrave fatta per la variabile

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 15: Tasker Android

15 52

Stop Priority A Priority B Resulting say No 5 0 A ended B Started B ended No 5 5 A ended B Started B ended No 5 6 A ended B Started B ended No 5 10 B started A ended B endedYes 5 10 B started B ended (no A ended script stop [disappear Kill App]Yes 5 5 B started B ended (no A ended script stop [disappear Kill App]Yes 5 0 B started B ended (no A ended script stop [disappear Kill App]

Maggiori dettagli e consigli

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread4bfc0c42513b899f38e9d290cc696468

middot httpgroupsgooglecomgrouptaskerbrowse_threadthread1d072ff37368d8aa3eac641b90f07d03

Proposta per riuscire a fare in modo che un task aspetti il completamento dellaltroI just used the tasks that you had typed with only one change When you use the Perform Task in Task 1 I had Stop OFF Your tasks work fine this way (unless you are trying to do other things you have not mentioned) If this is the case you should probably make the Priority higher say 10 then it will do everything in the second task before continuing with the first task If you are still having a problem you could use a variable to tell Task 1 when it should continue Task T1 Varible Set WAITING to 1 Popup Title T1 Text Text 1 Perform Task Name T2 Stop OFF Wait Until WAITING Set Popup Title T3 Text Text 3 Task T2 Popup Title T2 Text Text 2 Varible Clear WAITING

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Prioritagrave

La prioritagrave di un task dipende da molti fattori

middot Un task avviato con il pulsante Test delleditor ha una super-prioritagrave

middot I task shortcutwidget hanno la prioritagrave impostata nel menu di Tasker Prefs Action setting (globalsetting)

middot Nel caso di Perform task dipende dalla proprietagrave di questa action

middot Vi egrave anche un qualcosa che riguarda i profili

middot Se devi mettere una prioritagrave alta al max adopera 9 ( e non 10 sembra fare casini)

In realtagrave la cosa egrave piugrave complicata vedi httpgroupsgooglecomgrouptaskerbrowse_threadthreada7c32914ae697898253da51e02b56ac3lnk=gstampq=priority253da51e02b56ac3

Created with the Personal Edition of HelpNDoc Free help authoring environment

LocalizzazioneE un sistema un po complesso da far funzionare correttamente

Tasker egrave in grado di sfruttare diversi sistemi di localizzazione geografica

middot Celle telefoniche molto impreciso (anche di km) resiste abbastanza anche al chiuso non comportaconsumo in piugrave rispetto al normale utilizzo telefonico

16 52

middot Rete Internet [net] forse sfrutta tipo una sorta di IP o simili

middot Rete WiFi (amp Internet) si basa su mappe di distribuzione dei punti di accesso WiFi (mappeconsultabile tramite Google) sapendo che una data rete WiFi si trova in un specifico contestogeografico risale alla localizzazione attuale Poichegrave le mappe sono online egrave necessario laccesso adInternet (motivo per cui la localizzazione WiFi richiede anche laccesso alla rete Internet [anche sechiaramente il WiFI in segrave ne egrave indipendente come rete])

middot GPS molto preciso (anche nellordine delle decine di metri) difficilmente funziona al chiuso consumaparecchia batteria

Il permesso di adoperare la localizzazione legata alle reti (telefoniche o WiFi) oppure al GPS egravecontrollata da specifiche impostazioni in Android da notare che sono una cosa diversa dalla sempliceattivazione della rete WiFi scambio dati (ad esempio per la localizzazione con WiFi occorre che siaattivo il modulo WiFi del cellulare ma ANCHE abilitatapermessa la localizzazione tramite reti) Al momento non credo sia possibile cambiare il permesso di localizzazione tramite Tasker suppongo siaun fatto di sicurezzaprivacy (per evitare che un programma ci possa tracciare di nascosto) daltra partetenerlo sempre acceso non credo comporti nessun consumo in piugrave in quanto costituisce una sempliceautorizzazione allutilizzo dei dati per la localizzazione ma in segrave non attiva nessuna rete o dispositivo (cosache eventualmente dovragrave essere fatta a parte)

Chiaramente egrave importante la frequenza con cui vengono controllate le fonti della attuale localizzazioneIn genere esistono

middot una frequenza di controllo con dispositivo acceso (display on) specifica per ogni modalitagrave dilocalizzazione

middot una frequenza di controllo a dispositivo spento (display off) comune a tutte le fonti per minimizzare iltempo di attivazione del dispositivo per effetuare i controlli (nel menu Display Off Settings egrave possibileimpostare sia la frequenza che la massima durata dei controlli)

Il servizio di localizzazione presuppone di trovarsi sempre nel punto ricavato dallultima localizzazione

Questi sistemi vengono sfruttati per 2 scopi

middot Conoscere esattamente il punto dove ci si trova (possibilmente al metro) ad esempio per dire dove citroviamo per farci raggiungere (positionlocation)

Per questo scopo si possono adoperare

o Rete internet [net] consuma poco (poco in piugrave rispetto al normale uso telefonico purchegrave siadisponibile un network) ma la precisione varia enormemente e richiede sia il collegamento allarete (network internet suppongo) che quello telefonico (phone service)Per impostarla occorre creare un location context e disattivare il GPS egrave importante impostareun raggio ampio intorno alla posizione di interesse (la frequenza di controllo egrave regolabile sia adisplay spento che acceso)

o Rete WiFi E Internet [net] maggiore consumo precisione molto variabile (buona in areepopolose) necessita sia di rete Internet (net) che WIFiPer impostarlo occorre creare un location context disattivare il GPS ed attivare il WiFi perottenere una maggiore precisionePer registrarlo occorre recarsi sul posto almeno 1 volta

o GPS alto consumo alta precisione allaperto molti problemi al chiusoPer impostarlo occorre creare un location context e deselezionare NetLa frequenza di controllo a dispositivo acceso egrave impostabile come pure quella del dispositivospento (in comune con altre fonti di localizzazione) Si puograve impostare anche il GPS Timeout che specifica quanto tempo debba continuare iltentativo di ottenere una localizzazione GPS (chiaramente questo influenza sia la capacitagrave distabilire una localizzazione ma anche il consumo della batteria)Poichegrave il controllo della posizione GPS non egrave continuo (ma ad intervalli) e dato che al chiusonon riesce a stabilire la posizione se dalla posizione A (localizzata) si passa nella posizione B

17 52

al chiuso (no segnale no localizzazione) il dispositivo faragrave riferimento allultima posizionestabilita (fix) per cui crederagrave di essere ancora in A (cambieragrave idea quando usciragrave allaperto edavverragrave un fix) NOTA sono 2 cose distintesect la predisposizione dellhardware (GPS on con Tasker oppure premere il pulsante

nella tray)sect e lutilizzo effettivo per localizzazione (che avviene con GetLocation in Tasker

oppure facendo partire un programma che usa il GPS) solo in questo secondopassaggio appariragrave licona lampeggiante (e poi stabile) nella tray chiaramente perograve nonpotragrave apparire mai se lhardware egrave scollegato

middot Sapere in quale AREA (piugrave vasta) ci si trova eg per fare qualcosa se ci troviamo in ambito casalingo(status)

Per questo si possono adoperare

o Stato di vicinanza a celle telefoniche consuma pochissimo (pari al normale funzionamentotelefonico) molto impreciso (ma resiste abbastanza bene al chiuso) Laggiornamento avviene secondo un frequenza regolabile quando il display egrave spento mentre adisplay acceso laggiornamento avviene appena la cella egrave visibile (as soon as the tower isvisible)Per adoperarlo occorre impostare uno state context con Cell near -gt Update mentre ci simuove nellarea di interesse (dunque egrave necessario recarcisivi almeno una volta)

o Stato di vicinanza a reti wifi consuma abbastanza (ma meno del GPS) buona la precisionenecessita di un accesso WIFi nei paraggi funziona anche al chiusoPer adoperarlo occorre impostare uno state context con WiFi near ed imposta il SSID(identificatore di rete) del miglior segnale WiFi che vuoi utilizzareidentificareQuesta funzione fa regolari controlli delle reti WiFi e scatta lattivazione se riconosce un puntodi accesso tra quelli impostati da notare che non serve collegarsi alla rete WiFi basta che siaricevibile (motivo per cui si puograve anche sfruttare la rete magari piugrave forte del vicino) Se si vuol evitare di mantenere acceso il WiFi in continuazione basta attivare la casella dicontrollo WiFi Toggle in questo modo verragrave attivato da Tasker solo quando necessiteragrave dieffettuare i controlli delle reti presenti

Rapporto tra consumo e precisione

MetodoConsumoenergetico

PrecisioneNecessita diinternet [net]

Necessita delWiFi

Stato vicinanza a celletelefoniche [State]

Posizione rete internet[Location][Net]

Sigrave

Posizione rete internet amp Wifi Sigrave Sigrave

Stato vicinanza a WiFi Sigrave

Posizione GPS Sigrave

Ad un numero maggiore di stelle corrisponde maggior consumo o precisione (a seconda della colonna)

Tasker adotta delle strategie per limitare il consumo energetico ad esempio in caso di piugrave contesti nelmedesimo profilo dapprima aspetteragrave che si attivino quelli a minor dispendio energetico e solo inseguito controlleragrave gli altri

18 52

Ad esempio per capire se si egrave a casa si puograve creare un profilo con doppio contesto che adopera sia unaposizione Internet [Location Net] che uno stato WiFi near Tasker effettueragrave i controlli WIFi soloquando ci si troveragrave nel quartiere

Variabili predefinite

Sono disponibili alcune variabili predefinite per controllare la localizzazione

Variabili utili per le celle telefoniche

middot CELLID (dinamica monitorata) riporta lattuale cella telefonica se nota Da notare che il Cell near state (cioegrave lo stato legato alla vicinanza ad una specifica cella) puograverimanere attivo (cioegrave indicare che si egrave in un dato contesto di celle) anche se in realtagrave la variabile CELLID riporta che effettuvamente la cella attuale egrave sconosciutanon valida Questo per evitare cheil contesto di stato Cell near state possa cambiare semplicemente perchegrave si egrave interrotto il serviziotelefonico In altre parole

o CELLID riporta sempre la situazione in tempo reale (nota che la stringa riportata iniziacon GSM (eg GSM2002651372) se non cegrave collegamento telefonico riporta comese la variabile non esistesse (cioegrave il nome stesso CELLID) NOTA

o lo stato Cell near state varia solo in risposta a ID di cella validi (non cambia se la cellaattuale diviene non valida [non raggiungibilitagrave telefonica])

Variabili utili per la localizzazione net (Internet)

middot LOCN (dinamica) latitudine e longitudine dellultimo network location fix (localizzazione)

middot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNTMS (dinamica) orario (espresso in secondi) in cui egrave avvenuto lultimo network location

fix Per ottenere quanto tempo egrave trascorso dallultimo fix (cioegrave unindicazione relativa) basta sottrarloallorario attuale che egrave contenuto nella variabile TIMES (ora attuale espressa in secondi trascorsidal Gennaio 1970 notare la S finale TIME e TIMES sono due cose diverse) eg TIMES-LOCNTMS --gt n di secondi trascorsi dallultimo fixPer controllare il successo di un fix vedi piugrave sotto (in pratica salva lorario attuale tenta il fix econfronta lorario salvato con quello dellultimo fix riuscito)

Variabili utili per il GPS

middot LOC (dinamica) latitudine e longitudine dellultimo GPS fix (localizzazione)

middot LOCACC (dinamica) accuratezza in metri dellultimo GPS fix

middot LOCALT (dinamica) altezza in metri dellultimo GPS fix riporta 0 se non egrave disponibile

middot LOCSPD (dinamica) velocitagrave (metri al secondo) dellultimo GPS fix riporta 0 se non egravedisponibile

middot LOCTMS (dinamica) orario (espresso in secondi) dellultimo GPS fix Per calcolare quanti secondi sono passati dallultimo fix vedi la spiegazione giagrave fatta per la variabile

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 16: Tasker Android

16 52

middot Rete Internet [net] forse sfrutta tipo una sorta di IP o simili

middot Rete WiFi (amp Internet) si basa su mappe di distribuzione dei punti di accesso WiFi (mappeconsultabile tramite Google) sapendo che una data rete WiFi si trova in un specifico contestogeografico risale alla localizzazione attuale Poichegrave le mappe sono online egrave necessario laccesso adInternet (motivo per cui la localizzazione WiFi richiede anche laccesso alla rete Internet [anche sechiaramente il WiFI in segrave ne egrave indipendente come rete])

middot GPS molto preciso (anche nellordine delle decine di metri) difficilmente funziona al chiuso consumaparecchia batteria

Il permesso di adoperare la localizzazione legata alle reti (telefoniche o WiFi) oppure al GPS egravecontrollata da specifiche impostazioni in Android da notare che sono una cosa diversa dalla sempliceattivazione della rete WiFi scambio dati (ad esempio per la localizzazione con WiFi occorre che siaattivo il modulo WiFi del cellulare ma ANCHE abilitatapermessa la localizzazione tramite reti) Al momento non credo sia possibile cambiare il permesso di localizzazione tramite Tasker suppongo siaun fatto di sicurezzaprivacy (per evitare che un programma ci possa tracciare di nascosto) daltra partetenerlo sempre acceso non credo comporti nessun consumo in piugrave in quanto costituisce una sempliceautorizzazione allutilizzo dei dati per la localizzazione ma in segrave non attiva nessuna rete o dispositivo (cosache eventualmente dovragrave essere fatta a parte)

Chiaramente egrave importante la frequenza con cui vengono controllate le fonti della attuale localizzazioneIn genere esistono

middot una frequenza di controllo con dispositivo acceso (display on) specifica per ogni modalitagrave dilocalizzazione

middot una frequenza di controllo a dispositivo spento (display off) comune a tutte le fonti per minimizzare iltempo di attivazione del dispositivo per effetuare i controlli (nel menu Display Off Settings egrave possibileimpostare sia la frequenza che la massima durata dei controlli)

Il servizio di localizzazione presuppone di trovarsi sempre nel punto ricavato dallultima localizzazione

Questi sistemi vengono sfruttati per 2 scopi

middot Conoscere esattamente il punto dove ci si trova (possibilmente al metro) ad esempio per dire dove citroviamo per farci raggiungere (positionlocation)

Per questo scopo si possono adoperare

o Rete internet [net] consuma poco (poco in piugrave rispetto al normale uso telefonico purchegrave siadisponibile un network) ma la precisione varia enormemente e richiede sia il collegamento allarete (network internet suppongo) che quello telefonico (phone service)Per impostarla occorre creare un location context e disattivare il GPS egrave importante impostareun raggio ampio intorno alla posizione di interesse (la frequenza di controllo egrave regolabile sia adisplay spento che acceso)

o Rete WiFi E Internet [net] maggiore consumo precisione molto variabile (buona in areepopolose) necessita sia di rete Internet (net) che WIFiPer impostarlo occorre creare un location context disattivare il GPS ed attivare il WiFi perottenere una maggiore precisionePer registrarlo occorre recarsi sul posto almeno 1 volta

o GPS alto consumo alta precisione allaperto molti problemi al chiusoPer impostarlo occorre creare un location context e deselezionare NetLa frequenza di controllo a dispositivo acceso egrave impostabile come pure quella del dispositivospento (in comune con altre fonti di localizzazione) Si puograve impostare anche il GPS Timeout che specifica quanto tempo debba continuare iltentativo di ottenere una localizzazione GPS (chiaramente questo influenza sia la capacitagrave distabilire una localizzazione ma anche il consumo della batteria)Poichegrave il controllo della posizione GPS non egrave continuo (ma ad intervalli) e dato che al chiusonon riesce a stabilire la posizione se dalla posizione A (localizzata) si passa nella posizione B

17 52

al chiuso (no segnale no localizzazione) il dispositivo faragrave riferimento allultima posizionestabilita (fix) per cui crederagrave di essere ancora in A (cambieragrave idea quando usciragrave allaperto edavverragrave un fix) NOTA sono 2 cose distintesect la predisposizione dellhardware (GPS on con Tasker oppure premere il pulsante

nella tray)sect e lutilizzo effettivo per localizzazione (che avviene con GetLocation in Tasker

oppure facendo partire un programma che usa il GPS) solo in questo secondopassaggio appariragrave licona lampeggiante (e poi stabile) nella tray chiaramente perograve nonpotragrave apparire mai se lhardware egrave scollegato

middot Sapere in quale AREA (piugrave vasta) ci si trova eg per fare qualcosa se ci troviamo in ambito casalingo(status)

Per questo si possono adoperare

o Stato di vicinanza a celle telefoniche consuma pochissimo (pari al normale funzionamentotelefonico) molto impreciso (ma resiste abbastanza bene al chiuso) Laggiornamento avviene secondo un frequenza regolabile quando il display egrave spento mentre adisplay acceso laggiornamento avviene appena la cella egrave visibile (as soon as the tower isvisible)Per adoperarlo occorre impostare uno state context con Cell near -gt Update mentre ci simuove nellarea di interesse (dunque egrave necessario recarcisivi almeno una volta)

o Stato di vicinanza a reti wifi consuma abbastanza (ma meno del GPS) buona la precisionenecessita di un accesso WIFi nei paraggi funziona anche al chiusoPer adoperarlo occorre impostare uno state context con WiFi near ed imposta il SSID(identificatore di rete) del miglior segnale WiFi che vuoi utilizzareidentificareQuesta funzione fa regolari controlli delle reti WiFi e scatta lattivazione se riconosce un puntodi accesso tra quelli impostati da notare che non serve collegarsi alla rete WiFi basta che siaricevibile (motivo per cui si puograve anche sfruttare la rete magari piugrave forte del vicino) Se si vuol evitare di mantenere acceso il WiFi in continuazione basta attivare la casella dicontrollo WiFi Toggle in questo modo verragrave attivato da Tasker solo quando necessiteragrave dieffettuare i controlli delle reti presenti

Rapporto tra consumo e precisione

MetodoConsumoenergetico

PrecisioneNecessita diinternet [net]

Necessita delWiFi

Stato vicinanza a celletelefoniche [State]

Posizione rete internet[Location][Net]

Sigrave

Posizione rete internet amp Wifi Sigrave Sigrave

Stato vicinanza a WiFi Sigrave

Posizione GPS Sigrave

Ad un numero maggiore di stelle corrisponde maggior consumo o precisione (a seconda della colonna)

Tasker adotta delle strategie per limitare il consumo energetico ad esempio in caso di piugrave contesti nelmedesimo profilo dapprima aspetteragrave che si attivino quelli a minor dispendio energetico e solo inseguito controlleragrave gli altri

18 52

Ad esempio per capire se si egrave a casa si puograve creare un profilo con doppio contesto che adopera sia unaposizione Internet [Location Net] che uno stato WiFi near Tasker effettueragrave i controlli WIFi soloquando ci si troveragrave nel quartiere

Variabili predefinite

Sono disponibili alcune variabili predefinite per controllare la localizzazione

Variabili utili per le celle telefoniche

middot CELLID (dinamica monitorata) riporta lattuale cella telefonica se nota Da notare che il Cell near state (cioegrave lo stato legato alla vicinanza ad una specifica cella) puograverimanere attivo (cioegrave indicare che si egrave in un dato contesto di celle) anche se in realtagrave la variabile CELLID riporta che effettuvamente la cella attuale egrave sconosciutanon valida Questo per evitare cheil contesto di stato Cell near state possa cambiare semplicemente perchegrave si egrave interrotto il serviziotelefonico In altre parole

o CELLID riporta sempre la situazione in tempo reale (nota che la stringa riportata iniziacon GSM (eg GSM2002651372) se non cegrave collegamento telefonico riporta comese la variabile non esistesse (cioegrave il nome stesso CELLID) NOTA

o lo stato Cell near state varia solo in risposta a ID di cella validi (non cambia se la cellaattuale diviene non valida [non raggiungibilitagrave telefonica])

Variabili utili per la localizzazione net (Internet)

middot LOCN (dinamica) latitudine e longitudine dellultimo network location fix (localizzazione)

middot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNTMS (dinamica) orario (espresso in secondi) in cui egrave avvenuto lultimo network location

fix Per ottenere quanto tempo egrave trascorso dallultimo fix (cioegrave unindicazione relativa) basta sottrarloallorario attuale che egrave contenuto nella variabile TIMES (ora attuale espressa in secondi trascorsidal Gennaio 1970 notare la S finale TIME e TIMES sono due cose diverse) eg TIMES-LOCNTMS --gt n di secondi trascorsi dallultimo fixPer controllare il successo di un fix vedi piugrave sotto (in pratica salva lorario attuale tenta il fix econfronta lorario salvato con quello dellultimo fix riuscito)

Variabili utili per il GPS

middot LOC (dinamica) latitudine e longitudine dellultimo GPS fix (localizzazione)

middot LOCACC (dinamica) accuratezza in metri dellultimo GPS fix

middot LOCALT (dinamica) altezza in metri dellultimo GPS fix riporta 0 se non egrave disponibile

middot LOCSPD (dinamica) velocitagrave (metri al secondo) dellultimo GPS fix riporta 0 se non egravedisponibile

middot LOCTMS (dinamica) orario (espresso in secondi) dellultimo GPS fix Per calcolare quanti secondi sono passati dallultimo fix vedi la spiegazione giagrave fatta per la variabile

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 17: Tasker Android

17 52

al chiuso (no segnale no localizzazione) il dispositivo faragrave riferimento allultima posizionestabilita (fix) per cui crederagrave di essere ancora in A (cambieragrave idea quando usciragrave allaperto edavverragrave un fix) NOTA sono 2 cose distintesect la predisposizione dellhardware (GPS on con Tasker oppure premere il pulsante

nella tray)sect e lutilizzo effettivo per localizzazione (che avviene con GetLocation in Tasker

oppure facendo partire un programma che usa il GPS) solo in questo secondopassaggio appariragrave licona lampeggiante (e poi stabile) nella tray chiaramente perograve nonpotragrave apparire mai se lhardware egrave scollegato

middot Sapere in quale AREA (piugrave vasta) ci si trova eg per fare qualcosa se ci troviamo in ambito casalingo(status)

Per questo si possono adoperare

o Stato di vicinanza a celle telefoniche consuma pochissimo (pari al normale funzionamentotelefonico) molto impreciso (ma resiste abbastanza bene al chiuso) Laggiornamento avviene secondo un frequenza regolabile quando il display egrave spento mentre adisplay acceso laggiornamento avviene appena la cella egrave visibile (as soon as the tower isvisible)Per adoperarlo occorre impostare uno state context con Cell near -gt Update mentre ci simuove nellarea di interesse (dunque egrave necessario recarcisivi almeno una volta)

o Stato di vicinanza a reti wifi consuma abbastanza (ma meno del GPS) buona la precisionenecessita di un accesso WIFi nei paraggi funziona anche al chiusoPer adoperarlo occorre impostare uno state context con WiFi near ed imposta il SSID(identificatore di rete) del miglior segnale WiFi che vuoi utilizzareidentificareQuesta funzione fa regolari controlli delle reti WiFi e scatta lattivazione se riconosce un puntodi accesso tra quelli impostati da notare che non serve collegarsi alla rete WiFi basta che siaricevibile (motivo per cui si puograve anche sfruttare la rete magari piugrave forte del vicino) Se si vuol evitare di mantenere acceso il WiFi in continuazione basta attivare la casella dicontrollo WiFi Toggle in questo modo verragrave attivato da Tasker solo quando necessiteragrave dieffettuare i controlli delle reti presenti

Rapporto tra consumo e precisione

MetodoConsumoenergetico

PrecisioneNecessita diinternet [net]

Necessita delWiFi

Stato vicinanza a celletelefoniche [State]

Posizione rete internet[Location][Net]

Sigrave

Posizione rete internet amp Wifi Sigrave Sigrave

Stato vicinanza a WiFi Sigrave

Posizione GPS Sigrave

Ad un numero maggiore di stelle corrisponde maggior consumo o precisione (a seconda della colonna)

Tasker adotta delle strategie per limitare il consumo energetico ad esempio in caso di piugrave contesti nelmedesimo profilo dapprima aspetteragrave che si attivino quelli a minor dispendio energetico e solo inseguito controlleragrave gli altri

18 52

Ad esempio per capire se si egrave a casa si puograve creare un profilo con doppio contesto che adopera sia unaposizione Internet [Location Net] che uno stato WiFi near Tasker effettueragrave i controlli WIFi soloquando ci si troveragrave nel quartiere

Variabili predefinite

Sono disponibili alcune variabili predefinite per controllare la localizzazione

Variabili utili per le celle telefoniche

middot CELLID (dinamica monitorata) riporta lattuale cella telefonica se nota Da notare che il Cell near state (cioegrave lo stato legato alla vicinanza ad una specifica cella) puograverimanere attivo (cioegrave indicare che si egrave in un dato contesto di celle) anche se in realtagrave la variabile CELLID riporta che effettuvamente la cella attuale egrave sconosciutanon valida Questo per evitare cheil contesto di stato Cell near state possa cambiare semplicemente perchegrave si egrave interrotto il serviziotelefonico In altre parole

o CELLID riporta sempre la situazione in tempo reale (nota che la stringa riportata iniziacon GSM (eg GSM2002651372) se non cegrave collegamento telefonico riporta comese la variabile non esistesse (cioegrave il nome stesso CELLID) NOTA

o lo stato Cell near state varia solo in risposta a ID di cella validi (non cambia se la cellaattuale diviene non valida [non raggiungibilitagrave telefonica])

Variabili utili per la localizzazione net (Internet)

middot LOCN (dinamica) latitudine e longitudine dellultimo network location fix (localizzazione)

middot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNTMS (dinamica) orario (espresso in secondi) in cui egrave avvenuto lultimo network location

fix Per ottenere quanto tempo egrave trascorso dallultimo fix (cioegrave unindicazione relativa) basta sottrarloallorario attuale che egrave contenuto nella variabile TIMES (ora attuale espressa in secondi trascorsidal Gennaio 1970 notare la S finale TIME e TIMES sono due cose diverse) eg TIMES-LOCNTMS --gt n di secondi trascorsi dallultimo fixPer controllare il successo di un fix vedi piugrave sotto (in pratica salva lorario attuale tenta il fix econfronta lorario salvato con quello dellultimo fix riuscito)

Variabili utili per il GPS

middot LOC (dinamica) latitudine e longitudine dellultimo GPS fix (localizzazione)

middot LOCACC (dinamica) accuratezza in metri dellultimo GPS fix

middot LOCALT (dinamica) altezza in metri dellultimo GPS fix riporta 0 se non egrave disponibile

middot LOCSPD (dinamica) velocitagrave (metri al secondo) dellultimo GPS fix riporta 0 se non egravedisponibile

middot LOCTMS (dinamica) orario (espresso in secondi) dellultimo GPS fix Per calcolare quanti secondi sono passati dallultimo fix vedi la spiegazione giagrave fatta per la variabile

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 18: Tasker Android

18 52

Ad esempio per capire se si egrave a casa si puograve creare un profilo con doppio contesto che adopera sia unaposizione Internet [Location Net] che uno stato WiFi near Tasker effettueragrave i controlli WIFi soloquando ci si troveragrave nel quartiere

Variabili predefinite

Sono disponibili alcune variabili predefinite per controllare la localizzazione

Variabili utili per le celle telefoniche

middot CELLID (dinamica monitorata) riporta lattuale cella telefonica se nota Da notare che il Cell near state (cioegrave lo stato legato alla vicinanza ad una specifica cella) puograverimanere attivo (cioegrave indicare che si egrave in un dato contesto di celle) anche se in realtagrave la variabile CELLID riporta che effettuvamente la cella attuale egrave sconosciutanon valida Questo per evitare cheil contesto di stato Cell near state possa cambiare semplicemente perchegrave si egrave interrotto il serviziotelefonico In altre parole

o CELLID riporta sempre la situazione in tempo reale (nota che la stringa riportata iniziacon GSM (eg GSM2002651372) se non cegrave collegamento telefonico riporta comese la variabile non esistesse (cioegrave il nome stesso CELLID) NOTA

o lo stato Cell near state varia solo in risposta a ID di cella validi (non cambia se la cellaattuale diviene non valida [non raggiungibilitagrave telefonica])

Variabili utili per la localizzazione net (Internet)

middot LOCN (dinamica) latitudine e longitudine dellultimo network location fix (localizzazione)

middot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNACC (dinamica) accuratezza in metri dellultimo network location fixmiddot LOCNTMS (dinamica) orario (espresso in secondi) in cui egrave avvenuto lultimo network location

fix Per ottenere quanto tempo egrave trascorso dallultimo fix (cioegrave unindicazione relativa) basta sottrarloallorario attuale che egrave contenuto nella variabile TIMES (ora attuale espressa in secondi trascorsidal Gennaio 1970 notare la S finale TIME e TIMES sono due cose diverse) eg TIMES-LOCNTMS --gt n di secondi trascorsi dallultimo fixPer controllare il successo di un fix vedi piugrave sotto (in pratica salva lorario attuale tenta il fix econfronta lorario salvato con quello dellultimo fix riuscito)

Variabili utili per il GPS

middot LOC (dinamica) latitudine e longitudine dellultimo GPS fix (localizzazione)

middot LOCACC (dinamica) accuratezza in metri dellultimo GPS fix

middot LOCALT (dinamica) altezza in metri dellultimo GPS fix riporta 0 se non egrave disponibile

middot LOCSPD (dinamica) velocitagrave (metri al secondo) dellultimo GPS fix riporta 0 se non egravedisponibile

middot LOCTMS (dinamica) orario (espresso in secondi) dellultimo GPS fix Per calcolare quanti secondi sono passati dallultimo fix vedi la spiegazione giagrave fatta per la variabile

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 19: Tasker Android

19 52

sorella LOCNTMS

Variabili utili per il WiFi

middot WIFII informazioni WiFi

o se connesso ad un punto di accesso WiFi ne riporta i dati in formato leggibile (contenendotra laltro la parola CONNECTION motivo per cui per verificare se vi egrave una connessioneWiFi in corso basta IF WIFII matches CONNECTION )

o se non connesso mostra i risultati della ricerca WiFi effettuata piugrave recentemente

middot WIFI (dinamica) riporta se il WiFi sia attivo (on) o no (off) Da notare che viene consideratoriportato off anche nel caso sia in corso lattivazione o sia propriodisabilitato (in altre parole risulta on solo se egrave giagrave pienamente attivo)

Stabilire se un tentativo di fix ha avuto successo egrave possibile

1) salvare lorario attuale 2) tentare un fix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix

Ad esempio nel caso del GPS

middot Variable Set STARTMS TIMES

middot Get Location

middot RiuscitoFix If LOCTMS gt STARTMS

NOTA PER LOCALIZZAZIONE

middot GPS onoff attiva lhardware GPS (ma non tenta di per segrave il fix)

middot GetLocation fa un tentativo di stabilire la posizione attuale (fix) sfruttando o il GPS o la rete (Net)o entrambi (Any) Si puograve specificare un tempo massimo per il tentativo (timeout) Per capire se il tentativo egrave riuscito e con quale sistema (nel caso si sia impostato Any) occorrecontrollare i valori di orario dellultimo fix per i due diversi sistemi contenuti nelle variabili LOCTMS (per il GPS) e LOCNTMS (per la retenetwork) secondo quanto riportato piugrave sopranel paragrafo Stabilire se un tentativo di fix ha avuto successo

Da notare che una cosa egrave lattivazione dellhardware unaltra egrave la richiesta della posizione (equindi il suo utilizzo) solo questultima fa apparire licona di ricerca posizione GPS nella tray

Esempio di reverse geocoding con Google maps

httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true

Elenco dei parametri di mappa su URL di GMaps httpmapkicomwikiGoogle_Map_Parameters (permettono di caricare una tipologia di mappa traffico) I parametri vanno introdotti con e divisi (se sono piugrave di uno) con amp (ad esempio t=m fa vederela mappa non il satellite

Per migliorare la precisione del GPS esiste il programma GPS Helper che fa un buon lavoro per evitareche la sua schermata rimanga in primo piano basta subito dopo chiamare la funzione Go Home (in App)

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 20: Tasker Android

20 52

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Flussi

middot Wait until attenzione che il tempo da specificare indica ogni quanto controllare la condizione (non egrave iltimeout dopo il quale continuare)

middot Nelle condizioni di If egrave possibile anche adoperare set e not set per basarsi sullesistenza o meno diuna variabile NOTA poichegrave Tasker accumula per sempre le variabili adoperate conviene cancellare levariabili (con clear) quando non sono piugrave usate (ed anzi quando usate come variabilibooleane basarsi sullesistenza o meno della variabile stessa in modo che risulti comodocancellarle alla fine [adoperando come condizione di uscita da loop boleani proprio la non-esistenzadella variabile)

middot Esiste If-ElseIf-Else (ElseIf si fa sfruttando lopzione If del comando Else)

middot FOR permette di scorrere elenchi

middot GOTO permette di saltare alla istruzione n X oppure (meglio) al comando con una label specifica

Created with the Personal Edition of HelpNDoc Free help authoring environment

Telefonia

middot SMS

o SMS Compose usa il programma di Android per preparare un SMS (e se ce negrave piugrave di unochiede quale scegliere in runtime)

o SMS Send invece lo spedisce direttamente senta interagire con lutente

Created with the Personal Edition of HelpNDoc Create HTML Help DOC PDF and print manuals from 1 singlesource

Connessioni

middot In teoria Android (e non Tasker di per segrave) disattiva lo scambio dati Internet 2G3G quando si attiva ilWiFi

middot Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit

middot Per sapere se si egrave connessi in WiFi basta fare IF WIFII matches CONNECTION

middot Se invece basta sapere quali reti ci sono (anche se non si egrave collegati) in WIFII ci saragrave lelencopreceduto dalla parola SCAN (e questo permette di distinguere se si egrave collegati o meno ad una reteWiFI)

Created with the Personal Edition of HelpNDoc Create iPhone web-based documentation

Bluetooth

middot Esiste uno status BT Connected

middot Inoltre quando il bluetooth egrave connesso BLUE matches on

middot Al momento (vers 12) non esiste una funzione Bluetooth near cioegrave che che controlla e si attiva senelle vicinanze vi egrave una trasmissione BT

Created with the Personal Edition of HelpNDoc Full featured multi-format Help generator

Internet

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 21: Tasker Android

21 52

Created with the Personal Edition of HelpNDoc Free Web Help generator

Accesso e richieste Web

La funzione Data mobile attiva il trasferimento dati ma ha diverse limitazioni

middot Richiede che nelle impostazioni di Android sia attivata la trasmissione dati (che funge forse da

permesso per poter attivare lo scambio dati) altrimenti non funziona

middot Applicazioni Google e lo stesso Android possono modificare questa impostazione (eg quando viene

disattivato il wifi)

(forse valgono le stesse limitazioni riportate da un widget per la gestione dei dati Toggle data open mobile

network settings Why

Disable data directly is not allowed by Android you have to enable data first on this settings and after

toggle data work correctly)

E possibile adoperare

middot HTTP Get action che permette di effettuare una richiesta ad un sito ed otterne dei dati come risposta

o Parametri di partenza

sect SerferPort va messo il link al sito da contattare (senza precederlo con http)

sect Mime Type va specificato la tipologia dei dati ottenuti come risposta

o Risultato saragrave possibile accederci tramite le seguenti variabili

sect HTTPR conterragrave il codice standardizzato di risposta che indica come egrave andata

loperazione (vedi http256comgraydocshttp_codeshtml ) tra 200-206 indicano che

egrave andata bene

sect HTTPD conterragrave il testo della risposta

ATTENZIONE Questa funzione ha unenorme limitazione se la rete non egrave accessibile daragraveun errore che interromperagrave immediatamente il task in corso (non eseguendo tutto il resto)Per questo

sect Va eseguita sempre come Task separato e con prioritagrave altissima (sennograve comesubroutine a bassa prioritagrave non verrebbe eseguita prima del resto del codice)

sect Non egrave possibile implementare controlli di fine esecuzione (con variabile impostate altermine della routine) perchegrave in caso di errore non vi arriverebbe mai il codice

o Per accorciare un link si puograve usare il servizio del sito isgd tramite il comando GET HTTPNet --gt HTTP Get con parametri server isgd path apiphp attributeslongurl=linkLungoDelSito timeoutquelloCheVuoi MimeType textplainIl link breve saragrave in HTTPD se tutto egrave andato bene (e lo egrave se HTTPR egrave diverso da -1)In alcuni siti fanno mettere tutto un link unico sotto server eg wwwgmapscommapsqma a volte sono casini ad esempio se ci sono piugrave parametri nellURL lungo divisi da amp incorrispondenza dei quali il GET spezza la stringa in pratica viene piograve ordinato e sicuro metteresotto server solo il dominio in path il percorso dopo il dominio ed in attributes i parametri cheseguono il punto di domanda mettendo in ogni riga i singoli parametri seguiti da un uguale = (in questo esempio solo longurl)

Created with the Personal Edition of HelpNDoc Free HTML Help documentation generator

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 22: Tasker Android

22 52

Email

E possibile predisporre linvio di una email in modo che tasker apra e compili per noi la email perograve occorreche sia lutente a premere InviaPer superare questultimo limite occorre complicare un po le cose adoperando il sistema di scripting diAndroid (e credo occorra un cellulare rooted) SL4A ad esempio con lo script Python SendEmailpy che sitrova in rete

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Multimedia

Created with the Personal Edition of HelpNDoc Full featured Help generator

Volumi

Il controllo del volume della sintesi vocale rientra nel controllo multimedia volume

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Variabili

middot Se una variabile non egrave inizializzata di fatto il suo valore rimane pari al suo nome (eg PIPPO noninizializzata verragrave considerata come valore stringa PIPPO letterale cosigrave comegrave)

middot Le variabili relative a elementi da attivare (wifi gps) se non egrave attivo lelemento hardware assumonocome valore il proprio nome (eg LOC se gps spento egrave = LOC) dunque per controllare se unastringa esiste basta farne il match con il proprio nome eg ~ PIPPO

middot I nomi di variabili tutte in minuscolo vengono considerate variabili locali (visibili solo dal task in cuivengono dichiarate) egrave buona abitudine adoperarle quando possibile per evitare di riempire lelenco dellevariabili globali inutilmente

middot Esiste una forma di gestione di pseudo-array con istruzioni per aggiungere (Push) o togliere (Pop)elementi

middot CONFRONTI STRINGHE

o se si usa una stringa tutta in minuscolo il confronto egrave case-insensitive

o puoi usare le wildcard e +

o (o lequivalente or) indicano la condizione OR

o ad inizio parola indica not

o NEL CASO DI STRINGHE INDICANTI CHIAMANTI (caller-id) egrave possibile adoperare anchealtre 2 possibilitagrave

sect CANY indica qualunque persona presente in rubrica eg CANY indicaqualunque numero non presente in rubrica

sect CFAV qualunque contatto preferito (starred)

middot Split stringhe questo comando permette di suddividere una stringa in tante variabili eventualmentecancellando la variabile di partenza automaticamente (delete base) Esempio SPLIT (delete base) MOM formatted_address Spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatoreformatted_address che non saragrave presente in nessuna delle nuove variabili ed alla fune cancellaMOM

middot Con Variable section si puograve estrarre un pezzo di stringa (daa)middot Variable converter permette conversioni informatiche (byte Kb) matematiche (esadecimale

binario) lunghezza peso tempo processazione URL (encode decode)

Created with the Personal Edition of HelpNDoc Free help authoring environment

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 23: Tasker Android

23 52

ScriptingE possibile eseguire singoli comandi Linux con Misc -gt Run shellElenco dei comandi httpsgithubcomjackpalAndroid-Terminal-EmulatorwikiAndroid-Shell-Command-Reference

E possibile richiamare script SL4A con Misc -gt Run scriptSL4A permette di eseguire script di vari linguaggi (tra cui Python)Purtroppo spesso sono inaffidabili (ottengo spesso interruzione imprevista SL4A processo googlecomgooglecodeandroid_scripting)La cosa migliora eseguendo lo script facendo aprire anche il terminale (con lopzione Terminalapposita di Run Script di Tasker) per chiudere poi la finestra del terminale alla fine dello script occorreinviare 2 pressione di pulsante Back con Input -gt Button -gt Back (uno per chiudere la tastiera laltro perchiudere il terminale tutto ciograve egrave possibile solo per cellulari rooted)

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

MenuE possibile creare dei menutoolbar per la scelta di applicazioni da lanciareBasta creare un task formato dalle singole istruzioni ciascuna fungeragrave da elemento di scelta del menu (leetichettelabel se specificate appariranno accanto ai singoli elementi) quindi occorre impostare (tramitelicona della chiave inglese amp tool del task) il task come di tipo Menu e non Execute

In generale come elementi si usano o listruzione LoadApp (per eseguire un programma esterno) o Run Task(per eseguire specific task) ma chiaramente si possono usare anche le altre istruzioni

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

Input - tastiera

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 24: Tasker Android

24 52

Ci sono vari modi per richiedere un input

middot Popup task icon (in Alert) permette di far apparire un testo con 1-2 icone da clickare

middot Variable query (in Variables) permette di chiedere un input di testo allutente il risultato eventualmentepuograve essere elaborato con le funzioni di conversione (sempre in Variables)

Dalla versione 12 sono state introdotte le Scenes che permettono di costruire una vera e propria interfacciagrafica (con pulsanti testi edit slide)

TASTIERAPer far apparire la tastiera Input -gt Soft keyboardPer farla sparire credo si debba simulare la pressione del tasto hardware back (freccia indietro) con icomandi piugrave sotto riportati (non serve richiamare il comando soft keyboard)

E possibile simulare

middot la digitazione di un testo tramite Input -gt Type

middot la pressione di taluni pulsanti hardware tramiteo Input -gt Button per alcuni pulsanti hardware (Search)o Input -gt DPad per simulare i pulsanti di direzioneo App -gt Go Home (per simulare la pressione del pulsante Home)

Created with the Personal Edition of HelpNDoc Easily create PDF Help documents

Files

middot E possibile sfruttare la funzione Write (in Files) per ad esempio creare file di logging (grazie allopzioneAppend) una dir usabile (almeno su HTC desire) egrave temp (che si trova sulla SD card)

Created with the Personal Edition of HelpNDoc Easily create HTML Help documents

Tempo timeLe variabili di tempodata comprendono

middot TIME riporta lora attuale in formato leggibile (1042)

middot TIMES riporta lora attuale in numero di SECONDI (dal Gennaio 1970)

Created with the Personal Edition of HelpNDoc Easily create CHM Help documents

EstensioniE possibile accedere a funzioni di applicazioni esterne tramite

middot Specifici plugin Locale-compatibili (vedi sezione dopo) o contattando direttamente lo sviluppatore diTasker

middot Script SL4A (vari linguaggi) con il comando Misc -gt Run script

middot Tramite i comandi presenti in Misc -gt Action intent e Component Intent

Oltre a ciograve si possono eseguire comandi Linux tramite Misc -gt Run Shell (vedi sezione scripting)

Created with the Personal Edition of HelpNDoc Full featured Help generator

Plugin

E previsto il controllo diretto di alcune applicazioni tramite apposito pluginPare che possa contare anche lordine di installazione you need to install Tasker after JD so that Androidknows what the JD permission is

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 25: Tasker Android

25 52

Created with the Personal Edition of HelpNDoc Free CHM Help documentation generator

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 26: Tasker Android

26 52

Tips amp tricks

NOTA TASKER NON PUO FUNZIONARE DALLA MEMORIA SD per motivi tecnici legati ad Android

middot Se non funziona nessun programma verifica che nella schermata di Tasker sia attivo il pulsante inbasso a destra (scritta On con barretta verde)

middot In ogni profilo meglio specificare ogni volta tutti i settaggi (cosigrave se in uno si usa lairplane mode egrave benenegli altr specificare di toglierlo altrimenti rimarragrave attivo anche al cambiare del profilo)

middot Attenzione che il pulsante hardware back (la freccia indietro) equivale a SALVARE e chiudere lattualefinestra (non annulla quindi)

middot Per eseguire in background una applicazione occorre caricarla App -gt Load App e quindi simulare lapressione del tasto Home -gt Go Home

middot Luminositagrave display a volte non sembra funzionare mettere una dietro laltra listruzione di auto-brightness off e regolazione della intensitagrave della retroilluminazione se puoi distanziale con altreistruzioni

middot La proprietagrave Cooldown dei contesti evita che un evento venga eseguito piugrave spesso di tot tempoInalternativa se ad esempio si vuole eseguire un compito soo la prima volta che si arriva in un posto sipuograve adoperare una variabile sentinella che viene definita allarrivo in un posto e ridefinita in un altro

middot Tasker sveglia il cell dallo stato di sleep ogni 10 minuti (per settings) per fare alcuni controlli (per cuimale che vada i trigger scattano ogni 10 minuti)

middot I task vengono messi in pausa quando il telefono va in sleep mode se necessario si puograve specificarenelle proprietagrave del task di rimanere acceso (ma a rischio di consumare batteria)

middot Le label sono comode anche per commentare il testo (oltre che usarle per i goto)

middot Non so perchegrave ma se si devono modificare diverse modalitagrave di funzionamento del telefono (modoareoplano wifi) il modo aeroplano va modificato per primo altrimenti succedono strani incroci-

middot Se viene modificata una qualche impostazione di dati nellEnter settings di un profilo esse verrannorimesse come prima alluscita Per evitare ciograve vi sono 2 possibiitagrave

o rimettere gli stessi settaggi nellExit settings in modo da dire a Tasker che non vannomodificati

o cambiare i settaggi chiamando un altro task (con Perform Task)

middot Per stabilire se il GPS fix ha avuto successo egrave necessario 1) salvare lorario attuale 2) tentare unfix 3) controllare se lorario salvato egrave piugrave vecchio dellorario dellultimo fix Eg

o Variable Set STARTMS TIMES

o Get Location

o RiuscitoFix If LOCTMS gt STARTMS

middot Lattivazione dello scambio dati (DataMobile) implica laccesso immediato alla rete internet chepuograve essere tramite WiFi o la rete telefonica 2G3G finchegrave cegrave lo scambio dati attivo uno dei duesistemi deve essere attivo quando puograve il sistema (penso Android direttamente piugrave che Tasker)preferiragrave il WiFi Dunque se egrave attivo 2G3G ed in un 2deg tempo si attiva il wifi il 2G3G viene disattivatoautomaticamente viceversa se disattiva il WiFi automaticamente passeragrave al 2G3G

o Nel caso di profili condizionati da condizioni durature (status eg per attivare scambio datiquando faccio partire gmaps) poi tasker automaticamente rimette tutto come prima una voltaterminato il contesto (fatto che rende non indispensabile il task di uscita)Tratto da FAQ Android Con il WiFi connesso la connessione 3G2G si spegneil telefono dagrave laprioritagrave alle connessioni WiFi piugrave veloci Dunque in presenza di un HotSpot o di un punto diaccesso memorizzato useragrave quello per la connessione invece che il 3G2G delloperatore

Esperienze di altri e suggerimenti

CONTESTO WIFIIt is easy for the tasks to backfire or not work if you dont take into account certain factors The location taskfor the Wi-Fi to turn on in my house all of the sudden wasnt working After some tinkering and thinking I

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 27: Tasker Android

27 52

realized that the GPS was turned off The location tasks are determined first by GPS then network second If the location task has to rely on thenetwork (closest cell tower) it is not very accurate once it put my position outside of 50 meters of my house(the original setting) it thought I was not in my house and turned the Wi-Fi off The solution was to widen theradius to 200 meters No problem now

with the Car Dock settings I had the tasks centered around Custom Car Home (car dock replacementgreat program BTW) Well when I would exit out of CCH for whatever reason the tasks would not work Thesolution I focused the tasks around the state of the phone (in car dock) rather than the application (CCH)

Now the really good news Tasker can use most if not all Locale plugins so for the very few things thatLocale can do that Tasker cant Tasker actually can or for complex things in Tasker there may be a pluginto make it easier For instance I change my Google Voice settings (which phones to ring and whether I want to screen callsor not) based on my location This could be done in Tasker with the HTTP tasks but would be verycomplex I just use the Google Voice plugin for Locale and it is a piece of cake

Consigli per individuare wifi (risparmiando batteria)

middot salta via se egrave attiva la modalitagrave aereo (anche perchegrave forse a modulo telefonico spento la ricerca di cellatelefonica di tasker ritorna sempre true

middot prima cercare se nella cella telefonica di casa (piuttosto ampia)

middot se sigrave ogni tanto cercare se esiste una rete con lo stesso nome di casa

middot se sigrave accendere il wifi e collegarsi

STABILIRE SE CONNESSO WIFI

middot sfruttare lo status WiFiConnected adoperando i task di entrata ed uscita

middot Cercare la parola CONNECTED nella variabile WIFII (senza imbarcarsi in profilistatus appositi)

RITARDARE SPEGNIMENTO WIFIVersione un po sbagliataIn your Exit Task -gt New Task - Tasker - Wait define time put it before the WIFI OFF task that should do the trick

if you do this your way wifi will turn off after the delay even if after that time the conditions for it to turn offare no longer valid

Versione migliorata che non chiude il wifi se nel frattempo del delay egrave nata la necessitagrave di tenerlo accesoEnter task set variable NAME to 1 turn on wifi

Exit task clear variable NAME wait 30s turn off (suppongo che lIF sottostante sia quello specifico dellistruzione turn off wifi) if NAME (doesnt match) 1

Quindi il wait andragrave a vuoto nel caso in cui sia stata ridefinita nuovamente la variabile NAME (distruttaallinizio dallexit task) un nuovo timer comunque verragrave creato dalla nuova routine

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 28: Tasker Android

28 52

INTERROMPERE SPEECHCREO IL TASK SHUSH che cancella la variabile RINGING e fa terminare lo speech con Shut UpTask Shush Variable Clear RINGING Shut Up

Profilo attivato dallo status di chiamata in arrivoIncoming Call Task in entrataEnter Set Var RINGING 1 Say Hello Wait Until Not Set SPEECH Goto 2 If Is Set RINGING

Task in uscitaExit Shush

Profilo attivato dallevento di alzata cornetta (risposta alla chiamata)Event Phone Offhook Enter Shush

Pent

CTL SE ACCESSO AD INTERNETHow do I test whether I can reach the Internet (ping)

First setup a task to do the test

Task DATACHECK Variable Clear HAVEDATA HTTP Get URL (a known webpage) Variable Set HAVEDATA 1 If [ HTTPR = 400 ] 400 Http Get in generale determina una seriedi codici come risposta della bontagrave delloperazione vedi httpenwikipediaorgwikiList_of_HTTP_status_codes Per questo per me sarebbe meglio ragionare in termini di numeri lt o gt (laserie 4xx egrave quella degli errori) forse bisognerebbe porre il controllo lt400 e non =400

The test needs to be in a separate task because the task might be aborted if the HTTP Get fails

When you want to test do

Task CALLER Perform Task DATACHECK (set Priority field high) If Is Set HAVEDATA DO THINGS Endif

Important the Perform Task action must run the DATACHECK task with a high priority becauseotherwise CALLER will continue before DATACHECK is finishedNOTA quando HTTP Get determina un errore eg pagina non trovata --gt appare PopUp Unknown hosterror che INTERROMPE IL TASK IN ATTUALE a meno che non sia stata specificata lopzione dicontinuare se errore (presente nel comando stesso)

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 29: Tasker Android

29 52

LOCALIZZAZIONEhai 2 possibilitagrave

1) se hai un orario di lavoro fisso potresti impostare che dalle 8 alle 14 si mette in modalitagrave lavoro e poi tornaalla modalitagrave di prima magari lasciando casa sempre attivo ( viene temporaneamente sostituito da lavoro epoi torna in mod casa ) o imposti delle condizioni di uscita ( leggi sopra)

2) cosa migliore secondo me fai che il cambio profilo avvenga tramite la localizzazione gsm che nondovrebbe consumare troppa batteria e nonostante la scarsa precisione non dovrebbe darti problemi a menoche non lavori accanto a casa tua

per la 2) vai su tasker e fai new scegli state e poi cell near premendo scan scansionerai le celle gsmdi casa se egrave grande dovresti durante la scansione fare il giro della casa poi imposti le condizioni che vuoitipo suoneria on eccpoi fai lo stesso scansionando le celle gsm a lavoro cosa che dura 5 minuti se egrave tanto

a me facendo cosigrave funziona benissimo anzi vorrei far si che il controllo sulla cella d tasker venisse fatto ogni5 minuti e non meno tanto per non consumare batteria per niente

poi le possibilitagrave sono tantissime e una volta preso un po la mano non egrave complicato come puograve sembrare

ah volendo la localizzazione si puograve fare anche tramite gps molto piugrave precisa ma consuma di piugrave ( conta chedovresti lasciare il gps sempre attivo) e nel mio caso non avrebbe senso oppure si puograve (credo) anchetramite il 3g ma credo sia molto simile alle celle gsm

Cell near= usa la cella telefonicaNet = utilizza la rete internet egrave importante specificare un ampio raggio intorno al punto da controllareNet amp Wifi = usa anche leventuale wifi in base a mappe di distribuzione wifi (eg by google)Wifi near= riconosce se nelle vicinanze cegrave un particolare wifi e lo usa come trigger di posizione (non occorrecollegarsi a quel wifi basta sia presente) Check the Wifi Toggle box if you dont want wifi on all the time Itwill then be toggled when Tasker needs to do a scan

Tasker rates contexts for power-hungriness in the following (ascending) order middot Other State middot Day Time middot Calendar Entry State

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 30: Tasker Android

30 52

middot Cell Near State middot App middot Network Location middot Wifi Near State middot GPS Location middot Proximity Sensor Gesture Event Orientation State (accelerometer activation)

Thread su come risparmiare batteria httpforumxda-developerscomshowthreadphpt=1031743----------------- I added a context of SCREEN ~ off and now nothing triggers off is lowercase For the context you added are you using Variable Set or Variable Value Variable Set is an event andwill only trigger at the moment the screen turns off Variable Value is a state and will be active duringthe entire period that the screen is off----------------------------Ive done a bit of Googling but dont seem to be able to locate a profile that only enables auto syncwhen the phone is connected to wifi

New OK State Wifi Connected Done + OK Net Autosync On Done Done Apply

gt Just to confirm I set an exit task to turn it off Is that correct Nope autosync is a setting so should be restored when the profile goes inactive----------------

httpgroupsgooglecomgrouptaskerbrowse_threadthreadd8d40572cb74fe1b a very awesome solution to clearing notifications

Here is the quote from that thread

[quote] I found a way to get Tasker to clear another apps notification The example I used was the notification of a new SMS message from the Messaging app Create a task with these steps 1 App Load App Messaging 2 Tasker Wait 2 seconds 3 App Go Home Trigger the task the app launches clears its own notification then returns to Home Step 2 may be optionally depending on your device -----------------In 109 there is a new variable SMSRN that is the name Works great

As for the Stream If you choose Media it will not pause or mute whatever music playing Since I have a car bluetooth I use Call as the stream then set the Media volume to 0 before the Say----------------------gt I tried Locale (the app) this morning and the lag as I passed through

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 31: Tasker Android

31 52

gt a 2KM circle was such that the message was never sent In short it gt seemed to never detect that I had entered the circle

For Tasker it will depend on the frequency you set the updates to Menu Monitor Display Off On settings depending on whether your phone is off while going or not You might want a bigger circle too Im sure locale lets you specify that as well though ---------------------------------------------

Maybe the GPS is struggling with you moving all the time You could also try deselecting Net in the location context if youre always using GPS sometimes network location fixing gives wild values

You can also try setting the cooldown for the profile tap on the location context click Profile click Properties move the Cooldown slider all the way to the right

That means the profile cant activate more than once every 30 minutes

-----------------------------gt Error SMSnull-value sending to number here Ok I figured out why it does this If the text is too long (over 160 characters) it doesnt work Once I reduced my text size it allowed the message to be sent I set up an automated SMS to send if I receive a message from X to Y times

-----------------You might want to try something like this

Context Power ACEnter TaskGPS OnGet Location [ SourceGPS Timeout100 ]Variable Set ACGPS = 1 If (TIMES - LOCTMS) lt 10Wait 30 secondsVariable Clear ACGPS

Context Variable Value ACGPS = 1Context Location ltworkgtEnter TaskLoad App [ Mileage Tracking App ]

Every time you plug into AC Tasker will try to get a current GPS fix If its successful it willset the ACGPS variable to 1 which will allow the second profile to activate ONLY IF youreat work Clearing the variable after 30 seconds will prevent the second profile from activatingwhen you plug in somewhere else and subsequently arrive at work

------------------My wheres my droid profile(s) I setup on my sons phone sends a response SMS to the inquirer similar to the following

My GPS location within 17 meters is httpmapsgooglecommapsq=431234567-757654321 My speed is 195 ms

So if his phone is ever loststolen I can use any smartphone or internet-connected computer to see where it is and how fast its

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 32: Tasker Android

32 52

moving This is great but what if I only have access to a not so smart phone - something where I cant click on the link in the SMS We reverse geocode the coordinates into a formatted street address thats what Heres the task that does it

1 HTTP Get [ServerPort mapsgoogleapiscom] [Path mapsapi geocodejsonlatlon=LOCampsensor=true] [Output File Tasker FINDGPStxt] 2 Variable Clear [Name FINDGPSADDR] 3 Variable Set [Name FINDGPSLN] [Value 1] 4 Read Line [File TaskerFINDGPStxt] [Line FINDGPSLN] [To Var FINDGPSADD] 5 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Doesnt Match status ok 6 Stop If FINDGPSADDR Matches unknown 7 Read Line [File TaskerFINDGPStxt] [To Var FINDGPSADD] 8 Variable Set [Name FINDGPSADDR] [Value Unknown] If FINDGPSADD Matches EOF 9 Stop If FINDGPSADDR Matches unknown 10 Goto 7 If FINDGPSADD Doesnt Match formatted_address 11 Variable Split [Name FINDGPSADD] [Splitter ] 12 Variable Set [Name FINDGPSADD] [Value FINDGPSADD2] 13 Variable Split [Name FINDGPSADD] [Splitter ] 14 Variable Set [Name FINDGPSADDR] [Value FINDGPSADD2] 15 Variable Join [Name FINDGPSADD] [[Joiner ] [Delete Parts] 16 Variable Clear [Name FINDGPSADD] 17 Variable Clear [Name FINDGPSLN] 18 Delete File [File TaskerFINDGPStxt] 19 Popup [Text FINDGPSADDR] [Time 38] [Center Text]

The formatted address is stored in FINDGPSADDR For actual use you can remove action 19 (Popup)

This could probably be cleaned up some and use some additional error checking but well there you go )

Notes

1 Read Line (action 4) doesnt seem to accept a fixed value for Line so I set a variable and used it in place of a fixed value I found it necessary to specify line 1 in the first Read Line action to make sure we started reading at the beginning of the file each time the task runs 2 FINDGPSADD is usedreused to minimize cleanup steps later 3 Variable Join (action 15) is used solely to speed cleanup

Pent is about to release 1010 which will include a GET LOCATION action This could resolve several issues making current profiles suggested in the wiki highly unreliable

--------------------

DA COORDINATE AD INDIRIZZO Reverse geocoding

httpwwwfindlatitudeandlongitudecomfind-address-from-latitude-and-longitudephp

httpwwwfreegis-italiaorgindexphpoption=com_contentamptask=viewampid=383ampItemid=80

httpgmaps-samplesgooglecodecomsvntrunkgeocoderreversehtml

geocodo on tasker

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 33: Tasker Android

33 52

httpwwwredditcomrtaskercommentsd9s6rreverse_geocode_loc

Servizi di reverse geocodinghttpwwwgeonamesorgexportreverse-geocodinghtml

--------------Tasker e SL4A (tra cui python)httptaskerwikidotcomsl4a

-------

I discussed this issue in an earlier message If SMSRN does not contain any value then Tasker just shows SMSRN or SAYs percent SMSRN This happens when an SMS message is sent without a name attached to it

I have a context that reads SMS messages to me when I am in my car and my bluetooth speaker is attached 1 I perform a variable set of SMSNAME to SMSRN IF SMSRN is set 2 I assign this same variable (SMSNAME) to an unknown caller IF SMS is NOT set 3 I also assign the same string to SMSRN IF SMSRN equals Then I have a SAY command that says SMSNAME instead of SMSRN You can do this same technique in your popup and youll either get the senders name or An unknown Caller instead of SMSRN

I thought it was a bug as I figured an unset variable would say nothing instead of saying or popping up the variable name I still need to assign another variable which skips the SMS message IF the SMS message has already been read to me

------------------------

To arm and disarm my home alarm I simply paste the following command into any browser httpusernamepasswmydyndnssiteorg2A=4ampp=1ampX=1234 Dyndnsorg redirects to my home router and the alarm IP card authenticates and the parm string tells it to arm or disarm the burglar alarm Its quite effective when entered in a browser But when I use Taskers HTTP Post I just cant get it to work Ive tried every possible combination but no success Following is how I set it up ServerPort usernamepasswmysiteorg Path blank (though I did try 2) Data A=4 p=1 X=1234 Any ideas

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 34: Tasker Android

34 52

Why Post The browser will use Get gt Ive tried every possible combination but no success gt Following is how I set it up gt ServerPort usernamepasswmysiteorg gt Path blank (though I did try 2)

Should be 2 according to your original URL gt Data gt A=4 gt p=1 gt X=1234

Also try setting the mime type eg texthtml or url-encoded When it fails what is the response code (variable HTTPR)

That was it Using GET was what I was missing Works like a charm now come up when I pull into my driveway my house automatically disarms And as I leave it automatically arms Now Im off to the market to buy another copy of tasker for my wifes phone

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Consigli di programmazione

CONSIGLI

middot Per lavorare con variabili booleane (sinoonoff 01) conviene sfruttare i controlli sulla esistenzao meno di una variabile (SET NOT SET) in quanto Tasker mantiene in memoria tutte le variabiliusate da tutti i programmi ed incasinerebbe inutilmente lelenco tenere anche variabili booleane usatesolo temporaneamente allinterno di un task conviene invece porre come condizione finale di uscita daltask la non esistenza della variabile (IF NOT SET) per farla esistere basta assegnarle un valorequalsiasi (ad esempio 1) ricordandosi perograve che in futuro per azzerare la variabile non basteragrave toglierelistruzione di assegnazione ad 1 ma occorreragrave cancellare la variabile con CLEAR perchegrave Tasker se nericorda

middot Utilizzare quando possibile variabili locali (quelle il cui nome egrave tutto minuscolo) rispetto alle globalioltre a non incasinare lelenco generale delle variabili globali pare risulti piugrave efficiente sotto diversi puntidi vista

middot Sfruttare la label per commentare il testo

middot Servirsi del piccolo help presente nella schermata di editing di ogni singolo comando (basta premere

sul pulsante ) accettando di scaricare lintera guida sulla scheda SD

middot Esiste la possibilitagrave di effettuare backup sulla SD (tasto Menu -gt Data -gt Backup) meglio usarla

Created with the Personal Edition of HelpNDoc Free help authoring tool

DebugUn metodo possibile per il debug egrave di creare dei Popup o usare la sintesi vocale per contrassegnare talunipassaggi nella esecuzione del programma

Uno dei vantaggi egrave che se si esegue il task inquisito direttamente dalleditor di Tasker (con il pulsanteTest presente nellediting) egrave possibile scorrere il programma mentre lo script ci dice a che punto egrave arrivatoConviene definire una variabile (ad esempio DEBUG) da adoperare nella condizione IF di ciascuncomando Say in modo che si possa attivaredisattiva a piacimento il debuggingAttenzione perograve che le prioritagrave cambiano molto a seconda che si faccia partire il task dalleditor (pulsante Test con altissima prioritagrave) o richiamandolo da altri taskSe si lavora quindi con piugrave task amp prioritagrave conviene creare un widget di lancio per lavorare sul funzionamento

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 35: Tasker Android

35 52

reale inoltre conviene crearsi un widget che dice quali task sono in attuale esecuzione (POPUP RUN)

Unaltra alternativa egrave creare file di logging con la funzione Write in Files (con lopzione Append)

Created with the Personal Edition of HelpNDoc Full featured Documentation generator

Cose utili

SMSText FromDateSubjectTime (monitored) SMSRF SMSRN SMSRB SMSRD MMSRS SMSRTThe sender address name body date and time of the last text (SMS or MMS) received These variables will be empty until the first time a text is received after they have been referenced becauseTasker does not monitor SMSs unless its neededSender name is set to sender address of no contact could be looked up Its unavailable on Android versionsprior to 20 Subject will only be set if the last text was an MMS

Roaming ROAMon if device is roaming on the current telephone network otherwise off

WiFi Info WIFII mostra una marea di dati sulla rete tra cui il nome della stessa (eg Belkin)86FWhen connected to an Access Point (AP) shows human-readable data about the AP When notconnected show details of the most recent Wifi scan results for nearby APs

Per controllare se sei collegato a casa in wifi WIFII matches Belkin86Fx

WiFi Status (dynamic)WIFIWhether WiFi is on or off Note if WiFi is enabling or disabled in fact anything but enabled its classed asoff

String confrontoMatching RulesSe il pattern egrave vuoto saragrave sempre validoveroAltrimenti deve corrispondere completamenteLa parola or ed il simbolo separano alternative possibiliIl indica qualsiasi numero di qualsiasi carattereIl + indica 1 sola occorrenza di qualsiasi carattere (non sicuro)Il allinizio significa notIl match egrave case-insensitive a meno che non si specichi almeno 1 lettera maiuscola

if a pattern is left blank it will match against anythingif it is not blank it must match the whole target text means or it divides up multiple possible matchesa will match any number of any character Its not possible to specifically match a charactera + will match one or more of any character Its not possible to specifically match a + charactermatching is case-insensitive (magic will match with MagiC) unless the pattern contains an upper-case letter eg Magic will not match against magically but it will match against Magic Roundabouta at the very start of a match means not eg MagicYellow matches anything not containing the wordsMagic or Yellowit is not possible to specifically match a character at the start of a target (but you could use

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 36: Tasker Android

36 52

Examples

help matches help but not helperhelp matches helperthe matches the (anywhere)123+ matches 123 and minimally one more character+ matches anything with at least one character (non-empty)theway matches the other way and the first way amongst others

LocalizzazioneI modified my SMS to look like this(note the LOC is the variable which is at the end of the URL This URL will link to a google map of yourphone location this way)Codehttpmapsgooglecommapsf=qampsource=sqamphl=enampgeocode=ampq=LOC

Provider LOP Accuracy LOA metersBattery BATT The provider variable basically just shows you if the coordinates that are being reported to you are GPS orcell tower based

I also learned that I can put in a wait task (and set it to 15-seconds) after my GPS turns onotherwise the coordinates provided arent GPS based because my GPS doesnt have enough timeto get the bearings before sending the SMS Then of course the other important task that I addedwas to turn GPS off after sending the sms

I want to change the phones state dependent on which specific bluetooth device is connected --can Tasker or Locale do that Thanks2 answersYes Tasker will do this When youre setting up the state choose bluetooth connected then clickthe magnifying glass next to the name field It will search for paired bluetooth devices Choosethe one you want and configure statesactions Then do it again for the other BT deviceI am the developer of LocaleLocale has a plug-in architecture and there is a free plug-in available on the Android Market called LocaleBluetooth Plug-in which provides this functionality

Created with the Personal Edition of HelpNDoc Easy to use tool to create HTML Help files and Help web sites

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 37: Tasker Android

37 52

Problemi

Da me riscontrati

middot Lapplicazione UnKeyLocker che ciaccia con il sistema di protezione accensione di Android non fascattare gli eventi

middot Difficoltagrave nel gestire le subroutineo poichegrave vi egrave un approccio multi-task anche nei confronti delle subroutine una delle cose piugrave

difficili egrave eseguire una subroutine attendendone il termine per proseguire con lo scriptsuccessivo

o esiste lopzione di Stop ma ho limpressione che non sempre funzioni (s sul forum non sono ilsolo ad avere problemi)

o ma soprattutto vi sono le prioritagrave (che valgono sia per lesecuzione con stop che senza stop) didifficile gestione nel momento in cui si creano subroutine a loro volta nidificate richiamate poi dascript diversisect risulta difficile tenere conto della successione di prioritagrave di ciascun blocco rispetto agli

altri (i cui rapporti di forza determineranno la effettiva sequenza di esecuzione)sect vi egrave poi laggravante del fatto che eseguendo lo script direttamente dalleditor allo script

di partenza viene data una super-prioritagrave che cambiare pesantemente i rapporti attesicon le subroutine tuttaltro comportamento lo si ha se si esegue lo script tramitewidget dalla home di android (avragrave una prioritagrave normale credo 5 su 10)

o la mancanza di

sect un editor da desktop con cui scorrere rapidamente il codice (eg per verificare leprioritagrave assegnate ai diversi pezzi di codice)

sect una qualche forma di debuggingsect reale imprevedibilitagrave dellesecuzione delle subroutine

o costringe a

sect disseminare (cosa non facile dato lediting su schermo ridotto e senza tastiera fisica) ilcodice di codice di debug per contrassegnare i punti principali di esecuzione adesempio adopero una variabile mia DEBUG che se pari ad on fa dire delle frasi(SAY TizioCaio in esecuzione)

sect adoperare dei meccanismi di WAIT UNTIL con delle variabili ad hoc per forzare unacerta sequenza di esecuzione (eg pongo FINE_PIPPO = on solo al termine dellaroutine Pippo prima di chiamarla inizializzo FINE_PIPPO=off (o qualunque altrovalore diverso da on) chiamo il Task PIppo e quindi aspetto fino a che FINE_PIPPOnon diventa = on

middot La geolocalizzazione egrave complessa da gestire dispone di diversi sistemi (rete telefonica mappe wifigps) anche combinabili tra loro controllati da permessi ed attivazioni non sempre sotto il controllo diTasker ritardi di attivazione

middot Il cellulare di per seacute (per motivi energetici) ha una modalitagrave di funzionamento diversa quando va in sleep(alcuni secondi dopo lo spegnimento del display) fermando taluni processo se lo script egrave in corsorischia di essere bloccato anchesso (per cui lo script funziona fino ad un certo punto o riparte quandoviene riacceso il display) egrave possibile specificare di far sopravvivere il task ma a prezzo di un maggiorconsumo

Problemi noti tratti dalla documentazione ufficialeBugs Limitations

middot multiple profiles activating simultaneously settings with conditions may override the same setting inanother task even when it eventually isnt executed because the condition fails

middot monitor vars will not be picked up in task C when task A calls task B which calls Task C

middot deletion of widgets does not stop any relevant monitoring (due to variables) until the next monitor restart

middot a calendar entry matching an all-day event may not (de)activate at the correct time

middot each application widget icon used will take up about 5k extra on the device due to caching to workaround an Android bug

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 38: Tasker Android

38 52

middot monitoring of SMS and CALL variables is not disabled if all corresponding profiles needing them aredisabled until the monitor is next restarted

middot the Dialer and Contacts activities cannot be differentiated A Context for either of them will also activatefor the other

middot long widget names do not scroll with focus

middot keyguard disable occasionally the notification pulldown may freeze when using this feature on somedevicesOSs

middot renaming tasksprofiles actions which refer to the taskprofile name in anonymous widget tasks are notautomatically renamed

middot Donut Android bug when an application is exited with the home key its several seconds before asubsequent action in Tasker which involves launching an application takes place

middot deleting Tasker does not delete its Home screen widgets (this is a current limitation of Android)

middot custom icons sometimes overlap in the icon select window

middot multiple HTML entities (ampxxx lt gt) in strings are replaced with amp when the profiles are saved

middot if a Time Context has a repeat count every repeat reduces the profile repeat count (if it has one set)

middot applying a setting via a menu-type enter task will not result in the previous setting being restored whenthe profile deactivates

middot coming from device off action take photo the screen will not come on if the keyguard is enabled

middot changes made to Profile Properties repeat count occur even if the cancel button is pressed in the ProfileEdit screen

middot Theres an Android limitation that often prevents getting updates

- No Cell Location Updates When Display Off

If you are having trouble connecting to Wifi or BT or GPS and you have Tasker the app is probably causingthe issue

Tasker even with no profiles active still does WiFi Scan amp BT scans and will shut both off ifnothing is found within the specified limit Unfortuntely the default setting its 120 seconds For me it takes me a bit to type a long key in for WiFi forthe first time and I finally realized why WiFi would just shut off in the middle of obtaining an IP (thereforeerasing the password)

The same thing goes for BT amp GPS default settings are 120 Its fine in my opinion for GPS but scanningfor a BT may take a bit longer

Anyways this wasnt common knowledge for me and I hope it helps

Created with the Personal Edition of HelpNDoc Free help authoring environment

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 39: Tasker Android

39 52

MIE CREAZIONI

Created with the Personal Edition of HelpNDoc Single source CHM PDF DOC and HTML Help creation

Contexts

CONTEXT di mia creazione

middot Casa Pd Auto Sync SE si trova nella cella telefonica di Casa-PD ogni 30 minuti (nellorario tra 7 e 23)prova la sincronizzazione WiFi-PD

o Task Internet Casa PD Temp

middot Internet Start SE viene fatta partire unapplicazione che richiede internet (Browser) o Task Internet App Start o Task al termine Internet App Stop

Created with the Personal Edition of HelpNDoc Easily create Web Help sites

Tasks

TASK DI MIA CREAZIONE

middot Internet Casa Pd solo se attivo profilo casa prova la sincronizzazione WiFi-Pd per 4 minuti (erimetta a posto come prima il WiFi)

o STOP se non egrave attivo il profilo casao Prova connessione Wifi PD [Task CheckWifiPd]o Se egrave riuscita la connessione (CHECKWIFIPD)

sect Attiva lauto-syncsect Aspetta 4 minutisect Disattiva lauto-syncsect Ripristina il WiFi alla condizione precedente (by WIFIOLD)

middot Internet App Start Viene chiamata da un profilo attivato dal contesto di esecuzione dei programmiche usano Internet questo egrave importante perchegrave essendo un contesto buona parte di quello che vieneattivato nel Task di apertura viene poi disattivato in automatico da Tasker alla fine del contesto (faeccezione il MobileData non so perchegraveper cui lo faccio con il Task di chiusura) Per evitare fastidiosi onoff se si chiude un programma che usa internet e se ne attiva subito un altro lavariabile globale CEINTERNET indica che egrave stata aperta una connessione Internet La logica egrave settare tale variabile quando si avvia la connessione ad internet nel task di uscita la sicancella subito e quindi si attende un certo tempo prima di procedere alla chiusura della connessione se nel frattempo egrave stata ridefinita la variabile CEINTERNET vuol dire che egrave stato riaperto un programmaInternetPerchegrave il tutto funzioni egrave fondamentale impostare la prioritagrave del task Internet App Start su Abortexisting task (sennograve non puograve ridefinire la defunta variabile CEINTERNET nel caso ci si trovi nel periodoWait del task Internet App Stop)(purtroppo non esiste al momento il comando Kill Task da script che avrebbe semplificato la logica)PURTROPPO AL MOMENTO SEMBRA COMUNQUE DISABILITARE WIFI SUBITO ED ACCENDERESECONDARIATAMENTE IL MODEM PERCHE LA CONNESSIONE DATI E APERTA

o Stop if CEINTERNET is set (se cegrave giagrave in funzione lo script Internet perchegrave aperto da un altro

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 40: Tasker Android

40 52

programma non eseguo il resto)o Var CEINTERNET = 1 (indico che avvio laccesso ad Internet)o Vibrate 100 (per far capire che lo script egrave partito)o Stop if WIFII match CONNECTION (cioegrave fermo lo script se egrave giagrave connesso al WiFi)o Attivo il WiFi (se Off)o Airplane off (se on)o GPS on (se off)o Mobile data 3G preferred (se esiste utilizzo la rete piugrave veloce)o Mobile data on (attivo lo scambio dati useragrave WiFi o Modem a seconda delle disponibilitagrave)o Auto-luminositagrave ono Display timeout 1 min 20 sec

middot Internet App Stopo Var CLEAR CEINTERNET (la cancello subito)o Wait 1 minuto (aspetto un po per dare la possibilitagrave di far riavviare un altro programma che usa

Internet)o Stop IF CEINTERNET=1 (se nel frattempo egrave stato riavviato un programma internet la

variabile saragrave stata nuovamente settata) o Mobile data off

middot Internet migliore se possibile usa il WiFi Pd altrimenti attiva lo scambio dati 3Go Prova connessione Wifi PD [Task CheckWifiPd]o Se non WiFi attiva 3G e quindi scambio dati

middot CheckWifiPd Se possibile si collega al WiFi PDIn dettaglio attiva il WiFi (salvando lo status in WIFIOLD) e se riesce a collegarsi con la rete Belkin diPD riporta CHECKWIFIPD = on lasciando il Wifi collegato (altrimenti off e chiude il WiFi)

o Salva in WIFIOLD lo status di attivazione wifio Se non egrave attivo il Wifi lo attivao Aspetta 1 minuto o fino alla connessione con Belkino Pone la variabile CHECKWIFIPD = on se effettivamente si egrave collegata a Belkin e lascia il

WiFi attivo altrimenti off e chiude il WiFi

middot Loc2readable cerca di trasformare il risultato grezzo di reverse-geocoding di GMaps in qualcosa di

breve (esempio del formato ampio httpmapsgoogleapiscommapsapigeocodejsonlatlng=40714224-73961452ampsensor=true)

o CLEAR MOM (se rimane non dichiarata vuol dire che qualcosa egrave andato storto)o Http Get mapsgoogleapiscommapsapigeocodejsonlatlng=

LOCLATLONampsensor=false 80 sec timeouto MOM = HTTPD (in MOM ci finisce il risultato del Get qui non ci arriva se cegrave

stato un errore)o SPLIT (delete base) MOM formatted_address (e cancella MOM una volta fatto)

[spezzetta MOM in tante variabili MOM1 MOM2 dove egrave presente il delimitatore formatted_address che non saragrave presente in nessuna delle nuove variabili

o SPLIT (delete base) MOM2 geometry (cancella MOM2 una volta fatto)[spezzetta dove geometry MOM2 nei vari MOM21 MOM22)

o SET LOCREADABLE = MOM21

middot Save Net Settings salva in variabili xxxOLD le impostazioni attuali di networkingo WIFIOLD = WIFI (attivazione WiFi onoff)o GPSOLD = GPS (stato GPS onoff)o DATAMOBILEOLD = esiste se vi egrave una connessione ad Internet

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 41: Tasker Android

41 52

o AIRPLANEOLD = AIR (modo Airplane onoff)

middot Restore Net Settings la forma egrave apparentemente piugrave complessa del necessario per evitare di impartirecomandi inutili al device (eg accendere il WiFi quando egrave giagrave acceso fatto che sembra comportare brevi(ma inutili e con dispendio di batteria) interruzioni e ripartenze della funzione

o IF GPS = GPSOLD Se lo stato attuale del GPS egrave diverso da quello che era inprecedenza (salvataggio di Save Net Settings)sect IF GPSOLD = off GPS offsect IF GPSOLD = on GPS on

o Stessa cosa per WIFi e Airplane modeo Per data mobile invece controllo se Internet egrave accessibile e se lo egrave creo DATAMOBILEOLD

middot Save Display Settings salva in variabili xxxOLD le impostazioni attuali del displayPURTROPPONON SO COME SALVARE LO STATO DI AUTOBRIGHT (forse facendo il toggle e misurando ilconsumo )

o BRIGHTOLD = BRIGHT (luminositagrave display)o DISPLAYTIMEOUTOLD = DTOUT (timeout del display)

middot DataCheck controlla se sia presente accesso alla rete internet se esiste esisteragrave anche la variabileHAVEDATA ATTENZIONE non egrave una semplice subroutine e va usata con specifici accorgimentipoichegrave lassenza della rete (controllata con Http Get) dagrave un errore che ferma il Task in corso (no

o va sempre chiamata come Task a se stante (Esegui App) e con prioritagrave altissima (linterruzionein caso di errore non permette di usare il solito sistema di creare una variabile civetta chesegnala la fine del Task [poichegrave verrebbe interrotto ancora prima del settaggio della variabile])

middot Posizione leggibile (modalitagrave AWAKE) fornisce la posizione geografica attuale in formato leggibilesfruttando reverse geocoding con Google

Variabili adoperatesect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localizationsect ORAPRIMA Ora precedente linizio del tentativo di localizzazione (per

valutare se saragrave riuscito un fix piugrave recente)Stringhe utilizzabili come risultato

sect FIXOK Esiste se il fix egrave riuscitosect LOCREADABLE Stringa con lindirizzo in formato testo umanosect LOCLATLON Var in cui finiscono le coordinate vincenti da usare come

risultatosect FIXSOURCE Fonte adoperata per la localizzazione effettuata (gps o

net)sect FIXACC Accuratezza della localizzazione effettuatasect FIXTIME Epoca (espressa in tempo assoluto in secondi) in cui egrave

avvenuto il fix della localizzazione attualesect FIXAGE A quanti secondi fa risale il fix (Tempo attuale in secondi -

FIXTIME) sect TESTOSMSLOC Var contenente il testo da usare come SMS

o SET INVIOSMSABILITATO on [abilito la spedizione di SMS di localizzazione nel caso ilvalore di questa variabile sia diversa da off]

o SAY Richiesta di posizione da parte di SMSRN (dice il nome del richiedente)o CLEAR TENTAANCHEGPS [La potrograve usare in futuro se vorrograve adoperare anche il GPS

magari con SMS diversi se esiste fa accendere il GPS ed allungare il timeout di tentativolocalizzazione]

o [SALVO LE IMPOSTAZIONI DELLE RETI E GPS] o SNSEND off

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 42: Tasker Android

42 52

o Task SaveNetSettings (salvo le impostazioni attuali delle reti gps cell per poiripristinarle alla fine)

o Wait until SNSEND on [attendo che effettivamente abbia finito]oo [ATTIVO TUTTE LE RETI E POSIZIONAMENTI]o (IN REALTA HO TOLTO QUESTA OPZIONE DOVREBBE FARLO GIA MOBILE DATA) WiFi

On [Utile anche per localizzare)o GPS On IF esiste TENTAANCHEGPSo MobileData On (sceglieragrave da solo se usare wifi o rete)o ORAPRIMA=TIMES Salvo lora attuale (serviragrave in seguito per capire se il fix egrave andato a

buon fine)o WAIT 10 secondi [per dar modo che si attivi un po tutto]o IF TENTAANCHEGPS TIMEOUTTENTATIVO=120 ELSE =40 [uso timeout diversi a

seconda che vi sia anche il GPS]o [RICAVO LA POSIZIONE ATTUALE]o Get Location (Any TIMEOUTTENTATIVO) cerco di ricavare (per il tempo specificato in sec

nella variabile)la posiziona attuale sia con le reti che con GPSoo [SCELGO IL RISULTATO MIGLIORE]o LOCLATLON = LOCN Predispongo alluso delle coordinate fornite dalla rete Network (

LOCN (var dinamica) latitudine e longitudine dellultimo network location fix)o IF LOCTMS gt LOCNTMS --gt LOCLATLON = LOC Se il GPS fix egrave piugrave recente di

quello del Network allora ne adopero le coordinate (LOC (dinamica) latitudine e longitudinedellultimo GPS fix)

o CLEAR LOCREADABLE [Elimino questa variabile per capire in futuro se saragrave andata a buonfine la conversione in formato umano delle coordinate]

o PERFORM DATACHECK priority 9 Stop [Ctl se vi egrave accesso a Internet la variabile HAVEDATA esisteragrave solo se vi egrave accesso alla rete serve alta prioritagrave]

o IF HAVEDATA IS SET [esiste accesso ad Internet]

sect [CONVERTO IN FORMATO LEGGIBILE DA UMANI TRAMITE GMAPS]sect Task LocLatLon2LocReadable con prioritagrave alta (contiene Http get) e modalitagrave

AWAKE Converto le coordinate contenute in LOCLATLON in un formato leggibilemettendo il risultato in LOCREADABLE

o END IF

o FIXSOURCE=net Dapprima per default metto che la sorgente dei dati egrave il network macasomai la cambio con quella del GPS se migliore

o FIXACC = LOCNACC Accuratezza del networko FIXTIME = LOCNTMS Epoca dellultimo fixing network

o IF LOCTMS gt LOCNTMS Se il fixing del GPS egrave piugrave recente del network

sect FIXSOURCE=gpssect FIXTIME = LOCTMSsect FIXACC = LOCACC Accuratezza del GPS

o END IFo CLEAR FIXOKo SET FIXOK on (ma va bene qualunque cosa) IF FIXTIME gt ORAPRIMAoo RNSRUNNING ono Task Restore Net Settings Rimette a posto le impostazioni di rete ed elimineragrave la variabile

RNSRUNNING una volta finita la subroutineo WAIT Until Not Set RNSRUNNINGoo [GESTIONE RISULTATI FINALI PER PREPARARE TESTO SMS]o TESTOSMSLOC = Localizzazione non riuscita (forse cellulare spento o in zona non

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 43: Tasker Android

43 52

raggiungibile) IF FIXOK Not Set [non egrave riuscita affatto la localizzazione]o IF FIXOK Set

sect TESTOSMSLOC = LOCREADABLE IF LOCREADABLE Is Set [localizzazioneavvenuta ed in formato umano uso questa]

sect TESTOSMSLOC = Localizzato ma senza indirizzo preciso le coordinate sono LOCLATLON IF LOCREADABLE Is NOT Set [localizzazione avvenuta ma nondisponibile in formato umano do le coordinate]

sect SET TESTOSMSLOC (append mode) = (Precisione= +FIXACC+ m)o END IFo SET TESTOSMSLOC (append mode)= (ora TIME)o SEND SMS Number=SMRF Message=TESTOSMSLOC IF INVIOSMSABILITATOltgtoff

o STOP - IL RESTO SONO RIMASUGLI DI UN LISTATO PRECEDENTEo FIXOK= off Per default considero che il fix egrave andato male

o FIXOK = on IF LOCNTMS gt ORAPRIMA Segno che il fix egrave andato bene se quello del networkegrave piugrave recente di quando ho iniziato il ctl (insomma egrave riuscito)

o FIXAGE = TIMES - LOCNTMS Vecchiaia del fixing (in secondi) del network

sect FIXAGE = TIMES - LOCTMS Vecchiaia del fixing (in secondi) del GPS

sect FIXOK = on IF LOCTMS gt ORAPRIMA Fix GPS andato bene

ATTENZIONE HO DATO IL COMANDO DI MANTENERE AWAKE SIA A PosizioneLeggibile che a LocLatLon2LocReadable

o DA CTL CHE NON SUPERI I 160 CHAR PER LSMSo Al limite dai pieni poteri (rimanere acceso) ma crea un task a tempo che lo distruggeragrave

sicuramente per non far fuori la batteriaoo POP di debug

sect LOCLATLON Var in cui finiscono le coordinate vincenti da usare comerisultato

sect LOC Coordinate dellultimo GPS fixsect LOCTMS Ora dellultimo GPS fix validosect LOCN Coordinate dellultimo network localization fixsect LOCNTMS Ora in cui egrave avvenuto lultimo network localization

PROBLEMI

middot Spesso trova la rete non raggiungibile e dagrave Unknown host error che blocca il programma con un popupe non termina propriocosa disastrosa data lopzione Awake attivata (che perograve non funziona tanto benevisto che il problema probabilmente egrave il fatto che andando in standby viene in realtagrave spento ilDataMobile per cui poi la ricerca su Internet dagrave erroreinsomma un misto di sleep ed awake con ilpeggio di entrambi IL PROBLEMA SEMBRA ESSERE JUICE DEFENDER CHE BLOCCA LE RETI -

middot Rimane acceso il DataMobile la variabile DATAMOBILEOLD a volte viene messa su On anchequando non cegrave la rete - Per sicurezza cancello sempre tale variabile anche se mi interromperagraveInternet ad ogni richiesta

middot E necessario il wifi sembra migliroare la precisione in alcuni contesti

middot E assurdo il messaggio che non sei raggiungibile in tal caso non puoi ricevere nulla

middot Se puoi metti le coordinate anche sul messaggio con indirizzo (e vedi s puoi tagliare decimali)

middot Comando Widget per abilitare o meno la rintracciabilitagrave (magari invia messaggio di non disponibilitagrave altracciamento in questo caso)

middot Gestire il comando 66 che attiva il GPSin effetti potrei far scattare levento con 6 iniziale e poi rifare ilcontrollo sul testo con 6 o 66

middot Decidi come gestire se ti arriva piugrave di una richiesta mentre stai ancora lavorando sulla precedente (direidi abortire le nuove)

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 44: Tasker Android

44 52

Created with the Personal Edition of HelpNDoc Full featured Help generator

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 45: Tasker Android

45 52

IDEE FUTURE

NELLIMMEDIATO

middot Ritardi in attivazionedisattivazione internet (il lancio di unaltra applicazione internet fermeragrave

definitivamente il timer (che quindi non scatteragrave))

middot Migliorare la gestione del Market

middot Quando connetti e sei a PD con Wifi attiva wifi fai partire Market ed aggiorna (magari con cool

down per non esagerare)

middot Doppio allarme mattina quando hai lavoro VR (oppure un ctl con gps per vedere se sei sul lavoro

ma magari sei per strada forse conviene ctl se sei ancora a casa attenzione poi che le celle sono

molto poco affidabili -gt falsi allarmi)

middot Eventuali pseudonimi nel leggere i mittenti di SMS e chiamate

middot Scuoteregirare il cellulare per eliminare le notifiche presenti

middot Gestione cinema con blocco a tempo (sblocco se capta BT connesso della macchina)

middot Gesture (eg Verticalizzazione) per farsi leggere un messaggio appena arrivato (almeno in Aperto

[in car dovrebbe farlo automaticamente)

middot Gestione zone dove non riceve verificare solo ogni tanto se vi egrave collegamento (per risparmiare

batteria) complicato prima verificare che il collegamento non ci sia da diversi minuti (while not hellip)

e solo allora iniziare a fare ctl saltuari magari a frequenza via via maggiore e magari mostrando un

pulsante o altro per provare a ricollegarsi o resettarsi istantaneamente

middot Sfruttare wifi dei vicini o di centri commerciali a scopo di localizzazione (Loreggia Le corti venete

casa mia pd e vr)

middot Ribaltamento del cellulare a faccia in giugrave per respingere chiamata eo togliere il volume per tot

tempo ma anche per evitare la lettura sms in auto (occorre perograve introdurre ritardo di alcuni

secondieg 5)

middot Verticalizzazione o altra gesture per farsi leggere un SMS attivato da 15 secondi

middot SMS posizione metti una gestione degli errori (se non riesce ad inviare SMS ci riprova segnala con

la parola email che egrave riuscito a spedire la posizione in email ragiona come 66 anche in 6)

middot Posizione SMS Guarda se sfruttando il comando Read line e caricando subito la linea x puoi fare a

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 46: Tasker Android

46 52

meno di creare molte variabili intermedie

middot Attivazione schema casa a Verona

o se si arriva dallauto (con BT) inserito basteragrave aggiungere una riga in CheckWIfiPdVr che

reagisca come con la rete Belkin di Pd sfruttando unaltra rete WiFi Vr

o nel caso si arrivi a piedi le cose sono piugrave complicate (uno status rischia di ripetere in

continuazione lattivazione home) forse se arrivo da Aperto del lavoro posso far prima

partire un timer di 30 minuti che faccia quanto giagrave fa BT-off

middot Sistema di ritrovo parcheggio auto il piugrave semplice possibile (eg premi il singolo pulsante P si

apre la macchina fotografica per scattare una foto della via e quindi in automatico elabora la

posizione magari con un indicatore che diventa verder quando ha raggiunto una buona precisione)

utilizza la potenza del segnale telefonico per capire se sei al chiuso e quindi evitare il GPS ma

predisporre la memorizzazione per colore e numero di parcheggiofoto

o IN AUTOMATICO

sect salvare posizione con rete telefonica (imprecisa ma rapida e senza consumare

batteria) alla partenza intanto che tramite menu lutente decide cosa fare conviene

un task che da solo chiede la posizione e la salva nella variabile giusta (eg

PARK_LOC_TEL)

sect salvare orario attuale

o OPZIONI MANUALI TRAMITE PULSANTI WIDGET

sect PULSANTE REC POSIZIONE

middot attiva WiFi e GPS localizza e salva posizione (magari cambiando laspetto

dellicona widget per dire che cegrave riuscito) compresa precisione

middot accendi anche internet 2G per salvare anche il nome della via (con reverse

geocoding)

middot decidere se usare lo stesso pulsante per proporre di ritornare al posto

magari in base a quanto tempo egrave passato dallultima registrazione

sect PULSANTE NOTE DI TESTO (colore piano parcheggio salvare orario in

automatico per sosta a tempo opzionale segnare la scadenza [in futuro allarmi]

sect FOTO DEL POSTO (considerarne se farne piugrave di 1)

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 47: Tasker Android

47 52

sect INVIO DATI tramite SMS MMS o email con parametri di dove ci si trova

(compresa precisione)

sect REC MESSAGGIO VOCALE eg con il n del parcheggio o la via o indicazioni

per trovarlo

sect RITORNO ALLA MACCHINA

middot ACCESSO DATI REGISTRATI non so bene come gestire la foto ed i

dati forse conviene una finestra da cui si vede la foto leggono i dati (orari

nome via) possibilitagrave di spedire via SMS o email ad altri attivazione

della navigazione

middot NAVIGAZIONE usare GMaps con i parametri (possibilmente pedonali)

oppure il programma di navigazione (cegrave lopzione Navigate to nelle ozioni di

OpenMap di Tasker)

middot sarebbe carino fare tutto con 1 solo gadget un pulsante che cambia colore

quando vi egrave una posizione salvata

o segnala in qualche modo il livello di precisione della registrazione del posto

o AVANZATE

sect in base alla cella telefonica riconosce di essere in un centro commerciale e propone

di memorizzare il parcheggio secondo gli schemi di codifica di quel centro (eg

colori verde rosso giallonumeri da 1 a 4piano n)

sect cancellare i dati piugrave vecchi di 48 ore

o

o IN PRATICA

sect crea un task normale che contiene

middot il codice da eseguire sempre ad ogni attivazione (forse posso metterlo sia

prima che dopo listruzione seguente

middot la chiamata (Run task) ad un Task menu da cui si possano scegliere

eventuali

IN FUTURO

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 48: Tasker Android

48 52

Un editor per desktop (in python) magari creando un modo per esprimere i programmi (ma forse sono giagrave

salvati in xlm) e tradurlo visivamente con immagini grafiche che simulano i menu

Created with the Personal Edition of HelpNDoc Easy CHM and documentation editor

Miei utilizzi possibiliIdee per possibili utilizzi miei

Scopi

middot massimizzare la durata della batteria senza rinunciare alle funzionio attivando le funzioni solo nei contesti in cui servonoo scegliendo sempre le opzioni meno consumatrici (eg 2G al posto di 3G)

middot automatizzare i comportamenti in base al contesto (eg lavoro notte)

Possibilitagraveidee

Idee generichecomuni

middot Metti una breve vibrazione di conferma su molti widget

middot Evita di far fare sbalzi di illuminazione (ctl se vi egrave lautomatica se si vuole cambiare prima metti almassimo poi togli automatica)

middot trova modo di registrare alcuni parametri (eg illuminazione audio ) per poterli registrare e poirirpistinare

middot considera di avvisare se stai per andare in roaming

middot almeno sul lavoro ribaltarlo toglie il volume

middot basare molti comportamenti sulla programmazione del calendario (che diverebbe il principale strumentodi programmazione) magari rinforzandosi con il riconoscimento dellubicazione (non tanto per VR mamagari per albergo e loreggia)

o disattiva wifio disattiva BT nel caso della VR (per le altre 2 dipende dalla posizione)o abbassa i volumi e luminositagrave

middot Notteo modalitagrave aereo

sect al limite filtra solo chiamate di genitori e ricky durante ripososect puoi collegarti durante la notte ogni tot (eg 15 minuti) e filtrare solo le telefonateSMS

dei parenti magari segnalandole bene (stai dormendo) e poi leggendoleo luminositagrave automaticao volumi tutti a zero tuttio no synco profilo notturno si attiva solo se nella cella di casa (padova e verona) in determinati orari (per

evitare che si attivi mentre sei al ristorante il sabato sera) devi pensare a qualcosa per evitareche ti si spenga mentre stai arrivando a casa magari attiva un attimo il GPS per escludere dinon essere in macchina (o per localizzazione piugrave precisa o per velocitagrave gt 5 kmh [menoaffidabile ti puoi fermare ad un semaforo]) forse meno raffinato ma il profilo auto faccia daimpedimento (o al limite la presenza del BT attivo)

o se invece accetti di lasciare acceso il cell per chiamate emergenza puoi rispondere con unSMS che dice di scrivere un particolar eSMS che attiva tutto o fare 2 chiamate ravvicinate (cegravegiagrave uno script nei profili ufficiali) eventualmente puoi mantenere il volume a zero a meno httptaskerwikidotcomsleepmode

middot Auto

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 49: Tasker Android

49 52

o Disattivazione BT automatica

sect se da profilo o contesto casa perde il segnale del cell probabilmente sei in cantina edattiva eg per 10 minuti il BT

sect se da auto perde il segnale per almeno 1 minuto ed il contesto cella egrave casa sei ingarage (e non in galleria o al ristorante) quindi disattiva BT e passa a programma casa

sect altra possibilitagrave quando perde il collegamento BT prova ogni minuto (per un n di volteben definito) se il contesto diventa quello di casa PD o VR per attivare il contesto Casa

o aereo mode offo se arriva SMSalza i volumi (giagrave dovrebbe farlo il profilo auto al limite fai anche un buco su

altoparlante della custodia) fai un trillo di avvertimento leggi il mittente e poi il testo dellSMSchissagrave se egrave di aiuto attivare lo speakerphone (ma forse lo fa giagrave ineffettei se suoni un suono)

middot Pausa programmatao eg per Gardacqua o altri posti

middot Cinema o riconosce il contesto del cinecity (posizione magari velocitagrave bassa per distinguere traa viaggio

in auto e fermo a piedima forse basta anche ilBT che non egrave collegato ad auto)e si metteautomaticamente in sola vibrazione disattivando il BT per 90 minuti poi lo riattiva e si sbloccase si collega a qualcosa (BT auto)

o programma di silenzio a tempo impostabile con menu

middot Casa PDo sincronizzazione (calendar contatti meteo market-app GPS-fix)

sect se collegato alla rete elettrica wifi on costantesect se a batteria ogni tanto (eg 30 minuti ma anche 60) accende per 5 minuti il wifi per

sincronizzarsi o utilizza solo il 2Go aereo mode offo tieni conto che la presenza del wifi Belkin dice sicuramente che sono a casa ma la sua

assenza (in alcuni punti si riceve male) non mi dagrave certezzeo migliorie fai in modo che ripristini lo stato precedente di autosync

middot Corsao linserimento della cuffietta attiva il programma per la corsao max luminositagrave o attiva gps telefono 2G no WIFio aereo mode offo attiva anche il player mp3o forse permette di aggiungere funzioni ai pulsanti dellauricolare (gestione volume) o almeno

definire gesture da eseguire insieme alla pressione di un pulsante del cavetto per regolare ilvolume

o al disinserimento ripassa al profilo casa

middot Lettura SMS e chiamateo Lettura dei mittenti degli SMS e delle chiamateo Lettura testo SMS se sei in auto (decidi se creare un flag con widget per permettere la lettura

dei messaggi anche in altri contesti)o Migliora la gestione dei chiamanti sconosciuti (CNAME diventa )

middot SMS locatoro invia SMS automaticamente a casa PD quando sono arrivato a Verona (devi trovare perograve il

modo di evitare che lo mandi ogni volta che ti trovi a casa Verona deve distinguere il viaggioforse puoi usare come trigger iniziale il passaggio da Soave magari in certi giorni e farloscattare quando sei in zona casa magari limiti specificando il giorno eg Lunedigrave o Domenica

o invia posizione in base ad SMS o email di richiesta posizione riconosce la chiave attiva gps(ma al limite si accontenta del solo network) invia (ma notifica anche a me lutilizzo) devi perograveavere la ricezione email accesa per poter rispondere (dipende dal contratto)

o widget pronti per rispondere che non puoi rispondere perchegrave stai svolgendo determinate attivitagrave(eg piscina)

o magari riconosci se linviante egrave nella tua agenda (eo nella lista degli abilitati) ed invia anche

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 50: Tasker Android

50 52

unemail o metti nella risposta SMS un link per gmaps o magari una versione molto abbreviatao dubbio se nella risposta mettere anche la velocitagrave cui vaio miglioramenti ora accendi il gps e poi lo spegni sarebbe meglio registrare la condizione in cui

si trova accenderlo se necessario ed eventualente ripristinarlo alla fineo PROBLEMI

sect il mio cell aggiunge la firma Simone e non so come si comporti lo string matching pergli SMS

sect il cell pone il dubbio di quale programma adoperare per spedire lSMS

middot BrowserGMaps (partenza di )o se non cegrave WiFi attivo attiva 3G preferenziale anzi fai una utility che se chiamata

verifica di essere a pd e casomai attiva il wifi belkino GPS ono registra luminositagrave attuale (stato auto-bright e luminositagrave)o metti al max la luminositagraveo ritorna a 2G e stacca GPS alluscitao ripristina illuminazione iniziale

middot Energiao Pensa al risparmio in caso non si sia in zona dove non si riceve (ristorante attraversata) fare

in modo che provi a collegarsi solo saltuariamente (eg ogni 3 minutisempre che ciograve noncosti energia) magari lo fa solo se batteria lt50

middot Widgeto Notifica tua posizione attuale via SMSEMail (puoi usare lo stesso sistema della spedizione in

automatico con richiesta SMSEmail)

middot Batteriao scarica (lt33) luminositagrave al 20 stacca GPS WiFi va in 2Go molto scarica (lt15) modalitagrave aereo per 5 minuti si riattacca per 3 e cosigrave via luminositagrave al

minimono gps no wifi no sync

middot Chiamatao inclina il telefono a sn (o altra gesture) per rispondereo se alcuni chiamanti urlatori abbassa il volume

middot Calendarioo Sveglia di controllo nei giorni lavorativi (meglio ctl che vi sia static eo essere a Veronao Lettura ad alta voce a comando degli impegni odierni

middot Fotoo attiva GPS per tagging allapertura macchina fotograficao luminositagrave max display

middot Supermercatio riconosci da contestoluogo magari BT che non riceve piugrave autoo fai partire programma di elenco spesa allarrivoo chiudi programma alluscita dal contesto (eg ripresa contatto con BT auto)

Possibili idee

middot segnalatori di chiamate e messaggi persi

middot scrollare fa cambiare lingua alla tastiera (o altra gesture)

middot sync wifi quando si collega alla corrente a PD

Created with the Personal Edition of HelpNDoc Free iPhone documentation generator

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 51: Tasker Android

51 52

Esempi duso

Esempio di contesti multipli ed azioni multiple in un unico profilo Quando (1) si egrave in ufficio AND (2) sono le ore tra le 8 e le 17 --gt [1] disabilita suoneria AND [2] attiva lavibrazione

Impatto sulla batteriaRicordati di specificare sempre limitazioni al controllo eg della posizione GPS che mangia batteria (egsolo in certe ore)Se metti piugrave opzioni Tasker verificheragrave per prima quella meno pesante per la batteria

Possibili utilizzi

middot far partire il GPS quando parte il programma di navigazione e disattivarlo quando viene chiuso

middot far partire un menu di programmi quando si inseriscono le cuffiette

middot abbassare la suoneria quando si egrave al lavoro

middot alzare il volume della suoneria quando si tratta di amici ed abbassarlo quando egrave il boss

middot aprire la lista della spesa quando si parcheggia nel supermarket

middot accendere il BT quando si entra in macchina

middot aiuta a ritrovare la macchina parcheggiata

middot legge i messaggi ricevuti

middot silenziare il telefonino quando viene messo a faccia in giugrave

middot sincronizzare il cell solo ogni tanto (per risparmiare batteria)

middot accendere il wifi ogni tanto in ambito casalingo per sincronizzare il cell

middot gestures di movimento del telefono (capovolgerlo per tornare alla home page)

middot registrare conversazioni su SD

Risponde automaticamente ad SMS ricevuti in auto

middot alla ricezione di un SMS (contesto)

middot (seguono azioni)

middot ctl se vi sia un WiFi vicino (per evitare di accedere al GPS se si egrave a casa o in ufficio)

middot se il GPS non egrave abilitato ll abilita e ricava la posizione corrente

middot risponde allSMS solo se la velocitagrave egrave gt 5 migliaUpon receiving a text the phone will check if it is near WiFi this prevents the phone from doing grabbingGPS Locations if you are sitting at homeoffice the task checks to see if your GPS is enabled (if not it willenable it) then grabs your current location It will only respond to the text if your speed is faster than 5 mphThere is an additional task to convert the LOCSPD from ms to MPH and sets variable LOCSPDMPH

Schemi di esempioPer laccensione automatica del wifi a casa (tratto da un sito)Lindividuazione di casa tramite gps sarebbe stata un massacro per la batteria quindi lho evitata optandoper la localizzazione (seppur non puntualmente precisa) tramite cella telefonica decisamente menodispendiosa come batteriaOvvio perograve che la cella telefonica puograve essere molto ampia quindi accendere indistantamente in wifi solo inbase ad essa sarebbe stato sempre uno spreco quindi la presenza della cella telefonica mi abilita unulteriore profilo che si mette periodicamente a controllare la presenza della mia rete di casa e accendedefinitivamente il wifi solo quando la trovaIn aggiunta a questo un ulteriore controllo sulleventuale attivazione della modalitagrave aereo per evitare inutili

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio
Page 52: Tasker Android

52 52

ricerche di cella telefonica quando il modulo telefonico egrave staccato (anche perchegrave se ricordo bene a modulotelefonico spento la ricerca di cella telefonica di tasker ritorna sempre true e decisamente non mi andavabene)

  • Introduzione
  • Editing
  • Linguaggio
    • Subroutine (Perform task)
      • Prioritagrave
        • Localizzazione
        • Flussi
        • Telefonia
        • Connessioni
          • Bluetooth
          • Internet
            • Accesso e richieste Web
            • Email
                • Multimedia
                  • Volumi
                    • Variabili
                    • Scripting
                    • Menu
                    • Input - tastiera
                    • Files
                    • Tempo time
                    • Estensioni
                      • Plugin
                          • Tips amp tricks
                            • Consigli di programmazione
                            • Debug
                            • Cose utili
                              • Problemi
                              • MIE CREAZIONI
                                • Contexts
                                • Tasks
                                  • IDEE FUTURE
                                    • Miei utilizzi possibili
                                      • Esempi duso
                                        • Schemi di esempio