Script Armo allarme da ora Alba e Tramonto
INTRODUZIONE
Questa guida spiega in dettaglio come costruire lo script e speigarne il suo funzionamento. Con questo script imparerai a ricevere informazioni da API online tramite richieste HTTP get. Infine processerà le informazioni per applicare valori e stati a componenti nel progetto Ilevia.
Configurazione dei componenti
Apri il software Ilevia Manager dopo di che accedi alla sezione Componenti. Apri il menù Home automation e aggiungi i seguenti componenti.
- 2 componenti Interruttore;
- 4 componenti Info;
- 1 componente Lucchetto;
- 1 componente Script.
Apri l’editor dello script del componente Script.
Panoramica Script
Il primo passo è creare la prima variabile che contiene la richiesta HTTP che rotrnerà le ore dell’alba e tramonto.
Aggiungi la prima funzione, la funzione chiamata Sunrise_sunset farà un Parse il payload che, in questo esempio, è rappresentato dalla variabile “Payload“. Dopo di che verrà creata la variabile che conterrà il parse della variabile “Payload” chiamata “Sunrisetime_ok“, questa variabile conterrà l’ora dell’Alba contenuta nel json derivante dal dalla richiesta HTTP, infine stampa il valore del componente nel componente ID 18.
Lo stesso processo è applicato per l’orario del Tramonto, la nuova variabile chiamata “sunsettime” conterrà l’ora dell’albavariable “Payload“. Dopo di che lo stampa nel componente ID 19.
La nuova variabile chiamata “currenttime” che effettuerà la richiesta HTTP che ritornerà l’ora attuale in base alle coordinate della tua posizione specificate all’interno dell’URL. Dopo di che crea la nuova variabile chiamata “timesettings” che farà il parse del json derovante dalla richiesta HTTP estraendo solo i valori dell’ora.
Il prossimo passo è estrapolare i tre valori di tempo: Hour, Minutes, Seconds. Vengono create tre nuove variabili, ogni una di queste prenderà un preciso valore del json derivante dal json derivante dalla richiesta HTTP. Il passo successivo è l’assemblaggio dei tre valori per creare un valore temporale completo creando la variabile todayTime. Infine stampa il valore all’interno del componente con ID 20.
Il prossimo passo è determinare se l’ora attuale è AM (Mattina) o PM (Pomeriggio). La nuova variabile chiamata “period” serve a determinare se l’orario è al mattino o al pomeriggio. Dopo di che procediamo con la conversione dell’ora attuale da 24 h 12 h. Infine l’assemblaggio del valore dell’ora e l’impostazione di quest’ultimo nel componente con ID 21.
Per farsì che la funzione “Sunrise_sunset” venga aggioranta, è necessario creare una nuova funzione chiamata”Over“. Questa funzione imposterà Interval to the main function, this will execute the function repeatedly.
L’ultima funzione dello script applicherà il cambiamento di stato di un componente Lucchetto se l’ora attuale è uguale a quella del tramonto. La prima variabile creata con il nome “Time digest” contiene l’ora attuale, la seconda chiamata “IF_Pm” contiene il valore dell’ora del tramonto. L’utlima variabile “lock” contiene il valore del componente Lucchetto. Infine completa la funzione con la logica If Else che cambierà di stato il componente LucchettoLucchetto se l’ora attuale è precedente all’ora del tramonto.
Infine configura i setTriggers, i setTrigger sono necessari per far si che una funczione venga avviata. La prima funzione chiamata viene azionata è quella chiamata “Sunrise_sunset“, solo se il componente ID 12 cambia il suo stato a ON. Il secondo setTrigger azionerà la funzione “Over” ogni qualvolta il componente ID 12 cambia di stato. Infine l’ultimo setTrigger azionerà l’ultima funzione chiamata “Locking_home” ogni volta che il componente ID 23 cambia di stato.
Clicca il link per poter scaricare il progetto dell’esempio per provarlo.