Uppdaterad – 31 december 2022
SmartHome-program används för att individuellt kartlägga scenarier som inte kan implementeras med direktlänkar. Översikten över programmen finns i menyn under ”Program och genvägar” – ”Program & genvägar på kontrollpanelen”.

Ett nytt program skapas genom att klicka på knappen "Ny" längst ner till vänster. En befintlig kan redigeras genom att klicka på knappen "Redigera" till höger i raden i respektive program.

Låt oss titta på det första programmet som listas här "A_EI_KY_Unlocked_Presence" genom att klicka på knappen "Redigera":

Enligt den inledningsvis nämnda nomenklaturen är detta lägenhet A, entré, dörrlås, som ska gå över till ”olåst” läge när någon är närvarande.
Här valdes först systemvariabeln "Närvaro" från listan över systemvariabler genom att klicka på knappen "Systemstatus". Rullgardinsmenyerna tillåter olika scenarier, såsom "på / inte på", "närvarande / inte närvarande", "utlösa vid uppdatering / kontrollera / utlösa vid ändring". Här bör villkoret formuleras i IF-grenen att när statusen ändras från ”inte närvarande” till ”närvarande” utförs den eller de åtgärder som definieras i THEN-grenen.
Kryssrutan "Innan exekvering..." förblir vanligtvis aktiverad för att återställa processer som kan ha försenats av andra program med avseende på samma komponenter och för att säkerställa att programmet körs smidigt.
THEN-grenen definierar den avsedda åtgärden, vilket innebär att exekvera ett skript som skickar ett e-postmeddelande (t.ex. att personen nu är närvarande) och låsa upp dörrlåset.
Programmet, som fungerar i motsats till detta, låser dörren om personen upptäcks som ”inte närvarande”. På så sätt skyddas försäkringsrättsliga aspekter och försäkringsbolaget kommer att lösa eventuella inbrott som uppstår eftersom dörren kan bevisas vara ordentligt låst (via mejl och systemloggen).
Rullgardinsmenyn erbjuder varianterna "Val av enhet, Systemvariabel, Skript".
Skript kan skapas i den så kallade scripteditorn och testas genom att klicka på knappen "Kör". Skriptredigeraren öppnas automatiskt så snart alternativet "Skript" är valt.

Manusinnehållet:
sträng stdout;
sträng stderr;
system.Exec("/etc/config/addons/email/email 20", &stdout, &stderr);
Förutom "20" på den tredje raden är allt "standard" kod. Endast "20" hänvisar till e-postmall nummer 20, vars innehåll är e-postmeddelandet "Person x är närvarande". Postleverans initieras alltid på detta sätt.
Rullgardinsmenyn "omedelbart / fördröjd kl" avgör om åtgärden utförs omedelbart eller med en tidsfördröjning (s, m, h).
I rullgardinsmenyn "Lås olåst" finns alternativen "lås låst / öppna dörr / lås automatiskt efter tid" tillgängliga att välja mellan.
Skriptet sparas genom att klicka på knappen "OK" längst ner till vänster. Programmet sparas sedan genom att klicka på "OK"-knappen längst ner till vänster och är sedan tillgängligt för omedelbar körning när händelsen inträffar.