Manuale - Scheduler editor

L'editor dello scheduler di Shelly Scanner è più flessibile di quello che mette a disposizione l'applicazione nativa a scapito di una, credo, lieve maggiore complessità.
Ci sono in realtà tre editor lievemente diversi rispettivamente per i dispositivi gen2 (plus) e generazioni successive, per Blu TRV e per il Wall Display che combina uno scheduler gen2 con uno scheduler dedicato al termostato.
Shelly Scanner consente di scambiare con semplicità singoli elementi di pianificazione così come interi gruppi di definizioni da un dispositivo ad un'altro.


Scheduler per dispositivi gen2 o di generazione successiva
scheduler scheduler scheduler

Come sull'applicazione nativa e come vedete dall'immagine si può scegliere un orario (ore, minuti, secondi), un giorno del mese, un mese e un giorno della settimana in cui le azioni, definite in una sezione apposita, devono essere eseguite. Tra i campi editabili un numero indica il valore esatto, il carattere * indica che l'esecuzione deve avvenire sempre (nel caso dell'immagine tutti i giorni del mese - campo "Days"); in alternativa si può indicare un intervallo (per esempio, soffermandoci ancora su "Days", il valore 2-10 implica che l'esecuzione deve avvenire nei giorni compresi tra 2 e 10 del mese sempre agli orari, per i mesi e per i giorni della settimana indicati) o una ripetizione (per esempio */3 sullo stesso campo indica "ogni tre giorni" ma sempre a partire da giorno 1 - quindi, tra la fine di un mese e l'inizio del successivo, l'intervallo potrebbe non essere di 3 giorni; 5/3 invece indica "ogni tre giorni" a partire da giorno 5).
Infine la virgola ',' consente di combinare le notazioni appena descritte quindi 3,5,10-20 su "Days" significa "giorno 3, giorno 5 e i giorni dal 10 al 20".
Una serie di bottoni consente di definire i tempi con riferimento all'orario di alba o tramonto; in questo caso ore e minuti sono utilizzati per anticipare o ritardare l'esecuzione dell'evento.
La piccola icona a forma di matita che si trova sopra ogni campo vi permetterà di definire comodamente qualsiasi combinazione di singoli valori e/o intervalli.
Il campo sotto "giorni della settimana" e "mesi" è un descrittore risultato della combinazione di tutti gli altri campi temporali nel formato che sarà poi dato ai dispositivi; si tratta di un formato più o meno standard (cron). Qui un spiegazione dettagliata; notate però che la clausola @random non è ammessa sugli Shelly.
Il descrittore può essere editato dagli utenti più esperti ma soprattutto può essere copiato e incollato per replicare rapidamente le stesse indicazioni temporali.

Nella parte inferiore di ogni singola attività pianificata (job) trovate lo spazio per scrivere uno o più comandi (methods) da eseguire e gli eventuali parametri; questo punto è più complesso rispetto a quanto avviene nell'app nativa tuttavia va sottolineato che non occorre conoscere a memoria i comandi base; questi infatti vi saranno suggeriti premendo l'icona più a destra ; il vantaggio di questo approccio è che con un minimo di ricerca potrete scrivere in questa sezione qualsiasi cosa; trovate qui alcuni esempi.
I casi non previsti dall'app nativa non saranno riconosciuti correttamente da quest'ultima.

Alla destra di ogni job trovate un'icona che ha lo scopo di attivare o disattivare il job stesso e, ancora più a destra, disposte in verticale, le icone, che, con riferimento alla riga sulla quale si trovano, servono rispettivamente a:

  • aggiungere un nuovo job;
  • duplicare il job;
  • rimuovere il job;
  • copiare il job;
  • incollare una definizione precedentemente copiata.

Non disperate, ogni icona ha un suo tooltip.

Il bottone Load ... permette si scegliere un file di backup e di caricare l'intera definizione dello scheduler memorizzata nel file; il file non deve provenire necessariamente dal dispositivo ricevente e nemmeno da un dispositivo dello stesso modello; in questo caso però le azioni definite potrebbero non essere valide.
Tutte le definizioni caricate saranno per default disabilitate e saranno passate al dispositivo soltanto dopo aver premuto Apply.

C'è ancora un caso particolare da tenere in considerazione; quando impostate dall'app l'aggiornamento automatico del firmware in realtà viene creato un job apposito sullo scheduler; vedrete questo job come tutti gli altri ma Shelly Scanner non vi consentirà di modificare le attività.


Scheduler per Blu TRV
scheduler scheduler scheduler

In gran parte si può fare riferimento a quanto già detto nella sezione precedente riguardante i dispositivi gen2; qui però non si eseguono metodi ma si definisce la temperatura desiderata in gradi celsius o la posizione della valvola (da 0 a 100).

Il bottone Load ... caricherà le definizioni da un file di backup proveniente da un Blu TRV o da un Wall Display; nel secondo caso sarà necessario indicare esplicitamente il profilo da caricare.
Tutte le definizioni caricate saranno per default disabilitate e saranno effettivamente trasferite sul dispositivo soltanto dopo aver premuto Apply.


Scheduler per Wall Dispaly
scheduler scheduler scheduler

Il Wall Display ha uno scheduler identico a quello descritto nella prima sezione a cui si aggiunge uno scheduler dedicato alla funzione di termostato (che vedete nell'illustrazione); si tratta di una versione estremamente semplificata dello scheduler del Blu TRV in quanto ore e minuti possono essere soltanto numeri (niente intervalli, sequenze o valori combinati), non sono inoltre contemplati i secondi, i giorni del mese e i mesi.
In compenso il Wall Display consente di definire più profili ognuno dei quali corrisponde ad una diversa programmazione; si può quindi attivare di volta in volta il profilo che si adatta ad una specifica situazione. L'editor di Shelly Scanner consente di rinominare, creare, rimuovere e duplicare un profilo.

Il bottone Load ... caricherà le definizioni da un file di backup proveniente da un Blu TRV o da un Wall Display nel profilo correntemente selezionato; nel primo caso (Blu TRV) alcune definizioni temporali, non compatibili con il Wall Display, saranno ignorate; nel caso in cui il file provenga da un Wall Display sarà necessario indicare esplicitamente il profilo da caricare.
Tutte le definizioni caricate saranno per default disabilitate e saranno passate al dispositivo soltanto dopo aver premuto Apply.


Aspetti generali

Ad esclusione dell'attivazione/disattivazione di un job preesistente ogni altra modifica diviene operativa solo dopo aver premuto il bottone Apply.

Seggerimento: potete aprire più finestre di scheduler da più dispositivi e copiare/incollare tra loro.


Esempi

Di seguito trovate alcuni esempi di definizioni irrealizzabili con l'applicazione nativa ma permesse invece da Shelly Scanner; potete semplicemente copiare le linee che troverete e incollarle () su una pianificazione vuota che dovrà essere attivata.
I casi non previsti dall'app nativa non saranno riconosciuti da quest'ultima che non vi permetterà di modificarli; potrete comunque rimuoverli.

Inibizione dei comandi manuali (pulsanti o interruttodi di comando connessi ad un relè) durante alcune ora della giornata; con la seguente definizione i comandi manuali saranno disattivati giornalmente alle 10:30 (queste istruzioni dovrebbero funzionare su ogni 1/1PM standard, PRO e Mini)
{"timespec":"0 30 10 * * *","calls":[{"method":"switch.SetConfig","params":{"id":0,"config":{"in_locked":true}}}]}
per riattivare i comandi occorre poi una definizione come la seguente:
{"timespec":"0 30 13 * * *","calls":[{"method":"switch.SetConfig","params":{"id":0,"config":{"in_locked":false}}}]}
che, nello specifico, riattiva i comandi alle 13:30.

Reboot settimanale; in questo caso alle 0:00 di ogni domenica
{ "timespec" : "0 0 0 * * 0", "calls" : [ { "method" : "Shelly.Reboot" } ] }

Attivazione di un webhook/azione ad orari riferiti al sorgere del sole o al tramonto e/o in determinati giorni della settimana; nello specifico la seguente definizione attiva l'azione con "id":1 mezz'ora prima dell'alba nei giorni di sabato e domenica
{"timespec":"@sunrise-0h30m * * 0,6","calls":[{"method":"Webhook.Update","params":{"id":1,"enable":true}}]}
per disattivare l'azione, per esempio alle 10:00, occorre un secondo job come questo:
{"timespec":"0 0 10 * * 0,6","calls":[{"method":"Webhook.Update","params":{"id":1,"enable":false}}]}

Gli id delle azioni possono essere trovati facilmente con Shelly Scanner: doppio click sul dispositivo e tab Webhook.List.