Aggiornato – 31 dicembre 2022
I programmi SmartHome vengono utilizzati per mappare individualmente scenari che non possono essere implementati con collegamenti diretti. È possibile accedere alla panoramica dei programmi nel menu sotto “Programmi e scorciatoie” – “Programmi e scorciatoie del pannello di controllo”.

Un nuovo programma viene creato cliccando sul pulsante “Nuovo” in basso a sinistra. È possibile modificarne uno esistente facendo clic sul pulsante "Modifica" a destra nella riga del rispettivo programma.

Diamo un'occhiata al primo programma elencato qui "A_EI_KY_Unlocked_Presence" facendo clic sul pulsante "Modifica":

Secondo la nomenclatura citata all'inizio si tratta dell'appartamento A, ingresso, serratura, che dovrebbe passare in posizione “sbloccata” quando è presente qualcuno.
Qui è stata selezionata innanzitutto la variabile di sistema “Presenza” dall'elenco delle variabili di sistema facendo clic sul pulsante “Stato del sistema”. I menu a tendina consentono diversi scenari, come “acceso/non acceso”, “presente/non presente”, “attiva all’aggiornamento/controlla/attiva alla modifica”. In questo caso, nel ramo IF, dovrebbe essere formulata la condizione secondo cui quando lo stato cambia da "non presente" a "presente", vengono eseguite le azioni definite nel ramo THEN.
La casella di controllo "Prima dell'esecuzione..." rimane solitamente attivata per ripristinare i processi che potrebbero essere stati ritardati da altri programmi riguardo agli stessi componenti e per garantire che il programma funzioni senza intoppi.
Il ramo THEN definisce l'azione prevista, che prevede l'esecuzione di uno script che invia un'e-mail (ad esempio che la persona è ora presente) e lo sblocco della serratura della porta.
Il programma, che funziona al contrario, chiude la porta se la persona viene riconosciuta come “non presente”. In questo modo gli aspetti legati al diritto assicurativo sono tutelati e la compagnia assicurativa si farà carico di eventuali effrazioni avvenute perché è possibile dimostrare che la porta è stata chiusa correttamente (tramite e-mail e registro di sistema).
Il menu a tendina offre le varianti “Selezione dispositivo, Variabile di sistema, Script”.
Gli script possono essere creati nel cosiddetto editor di script e testati facendo clic sul pulsante "Esegui". L'editor di script si apre automaticamente non appena viene selezionata l'opzione "Script".

Il contenuto della sceneggiatura:
stringa stdout;
stringa stderr;
system.Exec("/etc/config/addons/email/email 20", &stdout, &stderr);
Ad eccezione del “20” sulla terza riga, tutto è codice “standard”. Solo “20” si riferisce al modello di email numero 20, il cui contenuto è il messaggio di posta elettronica “La persona x è presente”. La consegna della posta viene sempre avviata in questo modo.
Il menu a tendina “immediatamente/ritardato alle” determina se l'azione viene eseguita immediatamente o con un ritardo temporale (s, m, h).
Nel menu a tendina "Bloccatura sbloccata" è possibile scegliere tra le opzioni "Blocca chiusa/Porta aperta/Blocca automaticamente dopo il tempo".
Lo script viene salvato facendo clic sul pulsante "OK" in basso a sinistra. Il programma viene poi salvato cliccando sul pulsante “OK” in basso a sinistra ed è quindi disponibile per l'esecuzione immediata al verificarsi dell'evento.