Alarme Inteligente
Será que eu ajustei o alarme de amanhã?
Cansado de ser acordado em feriados por ter esquecido de desligar o alarme, busco há muito tempo uma solução para deixar tudo mais inteligente. Os requisitos eram:
- Somente tocar nos dias certos e de forma automatizada;
- Preferencialmente tocar mesmo com o celular no modo silencioso;
- Se possível, tocar no relógio inteligente, sem incomodar outras pessoas.
Quando o alarme vai funcionar?
O passo inicial foi adicionar o calendário de compromissos ao Home Assistant.
- Exportar o arquivo
.icsda agenda de compromissos; - Abrir o Home Assistant, ir em
Calendário,Meus Calendários,Criar calendário; - Selecionar a opção
Upload an iCalendar file (.ics)e fazer o envio do arquivo.
Home Assistant e Alertas Críticos
Com as informações de compromissos já disponíveis, o Home Assistant poderia fazer uma infinidade de coisas como alarme: Controlar alguma luz, tocar uma música, ligar a tv, abrir as cortinas, tocar a campainha. Minha opção foi o alerta crítico.
Alerta crítico é uma notificação disponível nos celulares em que a notificação funciona mesmo quando o celular está no modo silencioso. É possível definir o volume do toque, o título do alerta e sua mensagem. Além disso, é possível definir qual janela do Home Assistant será aberta ao clicar na notificação.
Relógios Inteligentes e Notificações Sem Som
O último critério a ser atendido é o de não incomodar outras pessoas. O Wife Acceptance Factor é o maior obstáculo de qualquer pessoa que mexe com automação residencial. Garantir que a esposa não será acordada sem necessidade é primordial.
Como usamos relógios inteligentes, uma notificação no telefone automaticamente vira uma notificação no relógio. Deixando o volume em zero, o relógio irá apenas vibrar, garantindo que somente quem precisa será acordado. No caso abaixo, a notificação é repetida a cada 2 segundos até que o telefone seja acionado e o botão de desativar o alarme clicado.
Arquivo YAML da automação
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
alias: Alarme Gabriel
description: "Alarme crítico sem volume baseado no calendário"
triggers:
- trigger: calendar
entity_id: calendar.gabriel
event: start
offset: "-2:30:0"
conditions:
- condition: time
before: "12:00:00"
actions:
- action: input_boolean.turn_on
target:
entity_id: input_boolean.alarme_gabriel
data: {}
- repeat:
until:
- condition: state
entity_id: input_boolean.alarme_gabriel
state: "off"
sequence:
- data:
title: "Alarme ⏰ "
data:
url: /dashboard-alarme/0
tag: alerta
push:
badge: 5
sound:
critical: 1
name: default
volume: 0
message: "Clique para desativar "
action: notify.mobile_app_gabriel
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
mode: single
alias: Nome da automação;description: Descrição;triggers.trigger: Tipo de gatilho da automação.calendaré o valor para se basear no calendário;triggers.entity_id: ID da entidade do calendário;triggers.event: Critério de início da automação.starté para o início do evento;triggers.offset: Valor de desvio.-2:30faz o alarme tocar 2h30 antes do início do evento;conditions.condition: Verifica uma condição após o acionamento do gatilho.timeverifica o horário;conditions.before: A condição a ser atendida é um horário antes do valor definido. No caso, antes do meio dia, ou seja, somente pela manhã.
Actions
As configurações das ações dependem do que será acionado em cada caso. No exemplo, os passos são:
- Garante que o botão de
Alarmeesteja ligado; - Inicia o loop;
- Define que a ação irá repetir enquanto o botão de
Alarmenão seja desligado; - Envia um alerta crítico e sem som que, ao ser clicado, abre a janela
/dashboard-alarme/0; - Aguarda 2 segundos antes de repetir.
- Define que a ação irá repetir enquanto o botão de
Ou seja, o alarme somente será encerrado após a pessoa desligar o botão de Alarme, que pode ser facilmente acessado clicando-se na notificação.
