Variabili predefinite o di sistema, e creazione di nuove variabili dentro ad un'Azione (ControlHUB)
 
Il primo dei 3 mattoncini di base di ControlHUB sono i dati/variabili, che vengono mostrati nella home page di ControlHUB. 
Clic qui per la spiegazione generale di dati/variabili 
In questa pagina elenchiamo solo le variabili predefinite, che sono sempre accessibili e create automaticamente dal sistema. 
 
Variabili predefinite 
Accanto alle variabili definibili dall'utente, ControlHUB ha alcune variabili pre-definite che possono essere usate allo stesso identico modo. Eccole: 
$timedate$ - data e ora in formato standard unix (secondi dal 1-1-1970) 
$time$ - ora specificata come un unico numero, per es. 1400 per le ore 14:00 (è utile averla così tutta in un pezzo per poter usare > < = ecc nelle condizioni
$thour$ - ora, es. 14 
$tminute$ - minuti, es. 00 
$tmonth$ - mese (da 1 a 12) 
$tday$ - giorno del mese (da 1 a 31) 
$tyear$ - anno (può essere usato per sapere se il tempo di sistema è corretto/aggiornato oppure no; se è 2019 non lo è; per altre info vedere Cosa succede all'accensione / power on in ControlHUB...
$ip$ - se una URL di aggiornamento IP è stata definita, questa variabile contiene il corrente IP; si può usare per esempio per sfruttare un servizio Dyn DNS 
$poweron$ - esiste ed è messa a 1 durante l'accensione, per i particolari vedere Cosa succede all'accensione / power on in ControlHUB... 
Solo per le versioni MX MY: 
$i1$ $i2$ - lo stato degli ingressi F1 e F2, normalmente è 1, se vengono cortocircuitati è 0; il cambio di stato viene valutato come vengono valutati gli invii da sensori esterni (tutte le Condizioni che contengono $i1$ e $i2$ vengono quindi valutate e le relative azioni, nel caso, chiamate) e viene anche inviato un messaggio MQTT (se MQTT abilitato) 
$ih$ $ig$ - lo stato dei relè H e G 
$itemp$ - la temperatura (se la versione di ControlHUB include il sensore di temperatura); un cambio di temperatura di almeno 1.5°C provoca la valutazione di tutte le condizioni cercando se qualcuna contiene $itemp$ (scatenando le relative azioni, se il caso) 
$icall$ - (per MY GSM) l'ultimo numero che ha chiamato o inviato un SMS 
 
 
Variabili automatiche di sistema di IP ovvero $i_nomeperiferica$ 
In questo esempio abbiamo una chiamata che arriva da un DoorSwitch appoggiato a ControlHUB tramite HTTP (ovvero con IP/Server e Pass impostate, nell'apposita sezione): 
http://chub_ip/x?pw=pass&w=ch&r={"RY2":1,"F2":1,"Name":"Salotto1"} 
Ma potrebbe essere qualunque altra periferica che tra i suoi parametri manda periodicamente via HTTP anche il suo nome. 
Se tra i dati del JSON è presente una variabile Name, ControlHUB creerà la variabile di sistema ricavata mettendo $i_ davanti al nome (ridotto in minuscolo e tagliato a max 8 caratteri), in questo esempio ricaverà $i_salotto1$  
Dentro questa variabile metterà l'IP del chiamante ovvero nell'esempio del nostro DoorSwitch di nome Salotto1. 
Per esempio avremo: 
$i_salotto1$= 192.168.1.3 
La variabile è poi utilizzabile in qualsiasi Azione. 
Se fosse presente anche la variabile ServerOrIP essa sarà utilizzata al posto dell'IP ricavato automaticamente dalla chiamata HTTP. 
 
Nota che queste variabili vengono "dimenticate" all'eventuale spegnimento di ControlHUB, ma non appena una periferica chiama vengono ricostruite; le nostre periferiche chiamano una volta ogni 2/3/4 minuti a seconda del tipo, in modo che la variabile automatica di IP sia così sempre aggiornata; periferiche di terze parti possono fare allo stesso modo. 
L'IP è ricavato al momento della chiamata stessa in automatico e non c'è bisogno quindi di passarlo esplicitamente. 
(vedi altro nel Manuale HTTP/MQTT...). 
 
 
Creazione nuove variabili temporanee, o assegnazione di variabili esistenti dentro a un'Azione  
Se hai già provato a creare delle Azioni avrai già familiarizzato con il box in cui si può scrivere il nome di una o più URL da chiamare, oppure topic/messaggio MQTT, oppure un comando ASCII o HexAscii da inviare tramite interfaccia Seriale RS232 o interfaccia RS485/ModBus. 
Nello stesso box si possono usare anche (uno per linea, andando a capo), dei comandi speciali "controlhub", alcuni di questi comandi permettono di definire/assegnare variabili 
 
controlhub $prevtemp$=$temp$ 
controlhub $abc$=1.234 
controlhub $pippo$=$pluto$*$paperino$+2 
controlhub $pippo$=$pippo$+1 
 
assegna (e in caso che non esistano già, inoltre crea) le variabili a sinistra dell'uguale mettendoci dentro quello che sta a destra dell'uguale (come normale convenzione); il nome delle variabili deve essere alfanumerico minuscolo e max 8 caratteri. 
Es. $abc$=1.234 mette in $abc$ il valore 1.234. Se prima $abc$ non esisteva, adesso esiste come nuova variabile temporanea. 
 
NOTA che eventuali nuove variabili create qui diventano immediatamente a disposizione per l'uso (ovunque), ma non vengono visualizzate in Homepage ed hanno vita temporanea (in caso di spegnimento o blackout vengono cancellate; si può comunque usare l'azione iniziale per dar loro un preset, servisse). 
 
Ricordiamo inoltre che si può creare una nuova espressione/condizione di tipo "ON / Variabile" per definire nuove variabili che siano espressioni di altre variabili, es. $var1$=$var2$*3 + $var4$*$var5$ 
 
 
 
Mattoncini: Dati/variabili - Azioni/letture... - Condizioni/espressioni... 
Manuale veloce... 
[ Variabili/dati - Variabili predefinite - Azioni/letture - Condizioni/espressioni
 
ControlHUB Home - il controller smart per automazione e domotica programmabile anche da smartphone, il modo facile per leggere sensori e comandare relè e dispositivi MQTT ModBus HTTP RS232 Web DoorSwitch DoorOpen SuperClock Smart Switch impostare timer, azioni anche periodiche, condizioni... 
 
Soluzioni Semplici - Home - L'hardware di VisualVision 
(C) 2024 VisualVision