Atualizado – 31 de dezembro de 2022
Os programas SmartHome são utilizados para mapear individualmente cenários que não podem ser implementados com links diretos. A visão geral dos programas pode ser acessada no menu em “Programas e atalhos” – “Programas e atalhos do painel de controle”.

Um novo programa é criado clicando no botão “Novo” no canto inferior esquerdo. Um existente pode ser editado clicando no botão “Editar” à direita da linha do respectivo programa.

Vamos dar uma olhada no primeiro programa listado aqui "A_EI_KY_Unlocked_Presence" clicando no botão "Editar":

De acordo com a nomenclatura citada no início, trata-se do apartamento A, entrada, fechadura da porta, que deverá passar para a posição “destravada” quando alguém estiver presente.
Aqui, a variável do sistema “Presença” foi selecionada pela primeira vez na lista de variáveis do sistema clicando no botão “Status do sistema”. Os menus suspensos permitem diferentes cenários, como “ligado/não ligado”, “presente/não presente”, “acionar na atualização/verificar/acionar na alteração”. Aqui, deve ser formulada a condição no ramo IF de que quando o status mudar de “não presente” para “presente”, a(s) ação(ões) definida(s) no ramo THEN sejam executadas.
A caixa de seleção “Antes de executar…” geralmente permanece ativada para redefinir processos que possam ter sido atrasados por outros programas em relação aos mesmos componentes e para garantir que o programa funcione sem problemas.
A ramificação THEN define a ação pretendida, que envolve a execução de um script que envia um e-mail (por exemplo, que a pessoa está presente) e destrava a fechadura da porta.
O programa, que funciona ao contrário disso, tranca a porta caso a pessoa seja reconhecida como “não presente”. Desta forma, os aspectos legais do seguro ficam protegidos e a seguradora resolverá qualquer arrombamento que ocorra porque a porta foi comprovadamente trancada corretamente (através do e-mail e do log do sistema).
O menu suspenso oferece as variantes “Seleção de dispositivo, Variável de sistema, Script”.
Os scripts podem ser criados no chamado editor de scripts e testados clicando no botão “Executar”. O editor de scripts abre automaticamente assim que a opção "Script" é selecionada.

O conteúdo do roteiro:
string stdout;
string stderr;
system.Exec("/etc/config/addons/email/email 20", &stdout, &stderr);
Exceto o “20” na terceira linha, tudo é código “padrão”. Apenas “20” refere-se ao modelo de e-mail número 20, cujo conteúdo é a mensagem de e-mail “Pessoa x está presente”. A entrega de correspondência é sempre iniciada desta forma.
O menu suspenso “imediatamente / atrasado em” determina se a ação é executada imediatamente ou com atraso (s, m, h).
No menu suspenso “Bloquear desbloqueado”, as opções “trancar trancado / abrir porta / trancar automaticamente após o tempo” estão disponíveis para você escolher.
O script é salvo clicando no botão “OK” no canto inferior esquerdo. O programa é então salvo clicando no botão “OK” no canto inferior esquerdo e fica disponível para execução imediata quando o evento ocorrer.