ANTINTRUSIONE - SIMULAZIONE DI PRESENZA

Questo tutorial illustra come creare uno script in IKON SERVER per mettere in esecuzione una sequenza di scenari, uno per ogni giorni, al fine di realizzare una semplice simulazione di presenza.

 

CREAZIONE DELLO SCRIPT

Il primo passo consiste nel creare uno SCRIPT, procedendo come segue:

  • Accedi alla sezione di AMMINISTRAZIONE di IKON SERVER

  • Seleziona la voce "FUNZIONI AVANZATE", quindi "SCRIPTING" ed infine "SCRIPTS"

  • Premi il pulsante "NUOVO" ed assegna un nome univoco al nuovo script (ad esempio "simulazione.presenza")

  • Accedi alla scheda del nuovo SCRIPT mediante l'apposito pulsante di MODIFICA (verde)

A questo punto, cancella il contenuto dello SCRIPT ed inserisci il codice seguente:

/*
Questo script effettua una simulazione di presenza, eseguendo a rotazione una serie di scenari che devono essere preventivamente
creati ed associati allo script runner.

Sono necessari i seguenti oggetti in INGRESSO:
- Abilitazione -> Identificativo "enable", valore "NEVER"
                  Abilita o meno la simulazione di presenza

- Orologio     -> Identificativo "clock", valore "$VAL"
                  Deve essere pianificato nei giorni e orari in cui si desidera eseguire la simulazione

- Contatore    -> Identificativo "counter", valore "NEVER"
                  Memorizza l'indice dell'ultimo scenario eseguito

In USCITA devono essere associati tutti gli scenari che, a rotazione, vengono eseguiti ogni volta che scatta una pianificazione
sull'oggetto OROLOGIO.

*/

include_library("surrounding");

//Controllo presenza ingressi obbligatori
if(!is_object($enable))   error("Manca abilitazione (enable)",true);
if(!is_object($clock))    error("Manca orologio (clock)",true);
if(!is_object($counter))  error("Manca contatore (counter)",true);

//Se non abilitato, interrompe immediatamente
if(intval($enable->value)!=1){
   error("Simulazione di presenza non abilitata",true);
}

//Se viene ricevuto un valore diverso da 1, esce
if(intval(input())!=1){
   error("Ricevuto valore " . input() . ", uscita",true);
}

//Identifica il numero di scenari associati; se vuoto, restituisce un errore
$scenes_num = count($me->childRelations);
if($scenes_num == 0){
   error("Nessuno scenario associato",true);
}

//Identifica indice dello scenario da eseguire (riportandolo a 1 a fine lista)
$counter_num = intval($counter->value)+1;
if($counter_num > $scenes_num){
   $counter_num = 1;
}
$counter->updateToDb("value",$counter_num);
debug("Indice scenario da eseguire su un totale di $scenes_num: $counter_num",true);

//Esegue lo scenario 
$scene_obj = $me->childRelations[$counter_num-1]->child;
$scene_obj->run();
debug("Eseguito lo scenario " . $scene_obj->name . " (indice $counter_num)",true);

//Uscita
output("");




Salva mediante l'apposito pulsante SALVA.

 

CREAZIONE DELLO SCRIPT RUNNER

A questo punto crea uno SCRIPT RUNNER nel seguente modo:

  • Seleziona la voce "RUNNERS" nella sezione "SCRIPTING" del menu di amministrazione

  • Crea un nuovo oggetto mediante il pulsante "AGGIUNGI" della TOOLBAR

  • Accedi alla scheda del nuovo oggetto tramite il pulsante "MODIFICA" della TOOLBAR

A questo punto inserisci nella sezione "DATI GENERALI" un nome identificativo per il nuovo oggetto, e seleziona lo SCRIPT creato in precedenza nell'omonimo menu a tendina; lascia inalterate le altre opzioni della sezione "ASPETTO".

Nella sezione "INGRESSI" crea 3 nuovi oggetti tramite il pulsante AGGIUNGI; è importante rispettare alla lettera gli "identificativi" riportati sotto, tutti con caratteri minuscoli, altrimenti il codice dello script non funziona correttamente...

  • Abilitazione (identificativo "enable"): variabile di tipo ON/OFF, se messa ad 1 abilita la simulazione di presenza, in caso contrario il sistema rimane inerte

  • Orologio (identificativo "clock"): variabile di tipo ON/OFF, va successivamente pianificata per essere messa ad 1 quando si vuole far partire gli scenari a rotazione (es: ogni giorno ad una certa ora)

  • Contatore (identificativo "counter"): variabile di tipo numerico (modifica la variabile dopo averla creata e seleziona "numerico - intero" come tipo di valore) che conterrà il contatore degli scenari eseguiti, aggiornato ad ogni ciclo dallo script

Specifica "$VAL" come valore per l'oggetto orologio, "NEVER" per gli altri.

Accedi inoltre alle schede degli oggetti "abilitazione" e "contatore", identifica la sezione "CONNESSIONI IN USCITA" e seleziona "MAI" come "condizione":

 

 

Infine, tornando alla scheda del runner, trascina nelle USCITE gli scenari che, a rotazione, dovranno essere eseguiti dalla simulazione di presenza (si consiglia di creare scenari di una certa durata, tenendo conto anche della pianificazione assegnata all'orologio).

 

Per provare la simulazione di presenza, ti consigliamo di mettere tutti gli oggetti in un ambiente provvisorio, e agire sugli oggetti "abilitazione" e "orologio" per simulare l'esecuzione e l'abilitazione del sistema; il contatore deve incrementarsi automaticamente, e gli scenari venire eseguiti a rotazione.

 

Questo sito utilizza diversi tipi di cookie, tra cui quelli di profilazione (propri e di altri siti) per inviarti pubblicità in linea con le tue preferenze manifestate nell'ambito della navigazione in rete. Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookie clicca qui. Se accedi a un qualunque elemento sottostante questo banner acconsenti all'uso dei cookie.
OK