
Calendário CalDAV no Home Assistant com alertas de IA
Hoje um post que eu gosto :-), daremos ao Home Assistant acesso aos nossos calendários, qualquer que seja o uso que lhe dermos, Sejam calendários pessoais, Corporativo, Datação, Santos, Jogos de futebol… E então criaremos alguma automação, Para quê, de manhã, quando acordarmos, diga-nos os compromissos do dia e, claro, quando chegar um compromisso, lembre-nos.
Neste documento, vamos inscrever o Home Assistant em alguns calendários que já temos, em um servidor CalDAV que nós vimos há algum tempo, chamado Radicale; É claro que poderemos inscrevê-lo em qualquer outro serviço de calendário que usarmos. Assim que tivermos acesso aos calendários, poderemos visualizá-los, Crie compromissos manualmente ou com automações, bem como conhecer os compromissos, entre outros. O que eu disse, No final do post veremos uma automação que 5 Minutos antes da consulta, ele nos lembrará disso através dos alto-falantes domésticos inteligentes, Também de forma aleatória, Como usaremos o IA de Ollama para personalizar as mensagens para que sejam diferentes a cada vez. Bem como uma segunda automação que de manhã quando chegamos à cozinha, além de dizer bom dia de uma maneira diferente todos os dias, nos lembra dos compromissos que temos durante o dia, fabuloso 🙂
No Home Assistant vamos “Configurações” > “Dispositivos e serviços”, e clique em “+ Adicionar integração”, e estamos procurando CAlDAV, nós clicamos nele.
Ele nos pedirá o URL CalDAV do calendário, bem como as credenciais para poder acessá-lo, Clique em “Enviar”,
Perfeito, Clique em “Acabar”,
Uma vez registrados, os veremos como entidades,
Assim como teremos uma visão dos calendários no menu à esquerda,
Levaremos em consideração que os calendários são sincronizados a cada 15 ata, Se quisermos forçar uma sincronização, especialmente agora para fazer alguns testes, Bem, vamos para o “Ferramentas de desenvolvedor” e de “Serviços”, estamos procurando o 'serviço de integração de minério Home Assistant': Recarregar a entrada de configuração’ e nos objetos selecionamos os calendários que estamos interessados em atualizar, caso adicionemos alguma cotação…
A automação notifica você sobre o próximo evento
Esta é uma automação que notificará todos os palestrantes da casa se houver um compromisso em qualquer calendário do 5 ata, nesse caso, a IA entrará em ação e enviará uma mensagem aleatória nos dizendo que temos esse compromisso e que não o esqueceremos, cada vez de uma maneira diferente e sem usar frases repetitivas.
Em automação, no Quando, Selecionaremos o objeto de calendário em que estamos interessados, indicando que está no início do evento e com 5 minutos de antecedência, É assim que essa automação vai saltar.
E o que ele vai fazer, Bem, várias coisas, por um lado, ele enviará à IA de Ollama o prompt que queremos, Isto é, Seja gentil, para lembrá-lo (Neste caso) para Heitor que tem um encontro, em 5 ata.
Metadados: {} data: agent_id: xxxxxxxxxxxxxxx: >- Por favor, gera um texto para uma notificação que será enviada para o smartphone do usuário. Você é um agente pessoal útil que gera texto para o usuário. Suas respostas são úteis, Tipo, Quente, Perspicaz. Suas respostas não são técnicas. A mensagem que você deve relatar é: Que Hector tem um compromisso no calendário dentro 5 ata. O evento é {{ trigger.calendar_event. Resumo }}. response_variable: Resposta habilitada: Ação Verdadeira: conversa.processo
A primeira ação de processamento perguntará à IA e obterá uma resposta em uma variável.
Metadados: {} data: cache: verdadeiro media_player_entity_id: media_player.volumio_mpd mensagem: "{{ Resposta.speech.plain.speech }}" Alvo: entity_id: ação tts.piper: tts.speak
Depois que um alerta amigável soou nos alto-falantes em casa, será Piper quem se encarregará de transformar esse texto da variável em uma voz quase humana nos alto-falantes.
A automação lê as cotações do dia
E eu uso essa outra automação para quando nossa casa nos cumprimenta pela manhã, Depende de quem chega primeiro na cozinha, Bem, além de cumprimentá-lo e dar-lhe algumas informações que podem lhe interessar, porque lemos os compromissos do calendário que você terá ao longo do dia, indicando como sempre com a IA de forma aleatória todos os dias as frases.
data: start_date_time: "{{ today_at('00:00').hora da luta('%Y-%m-%d %H:%M:%S') }}" end_date_time: "{{ today_at('23:59').hora da luta('%Y-%m-%d %H:%M:%S') }}" Alvo: entity_id: - calendar.calendario_hector_personal response_variable: my_agenda_hector ação: calendar.get_events
Criaremos uma primeira ação que lerá todos os eventos do calendário indicado, naquela época; Isso os colocará em uma variável.
data: agent_id: 491350952DA2D957EBC0EB37DA8C24A2 Texto: >- Por favor, gera um texto para uma notificação que será enviada para o smartphone do usuário. Você é um agente pessoal útil que gera texto para o usuário. Suas respostas são úteis, Tipo, Quente, Perspicaz. Suas respostas não são técnicas, Você não precisa dizer olá. Você tem que se lembrar dos compromissos que Hector tem hoje no calendário, O que eles são: {%- se my_agenda_hector['calendar.calendario_hector_personal'].Eventos %} {%- para evento em my_agenda_hector['calendar.calendario_hector_personal'].Eventos %} {{ evento.resumo }} {% Se event.start for definido %} em {{ as_timestamp(evento.start)|timestamp_custom('%H:%M',Verdadeiro)}} {% mais %} O dia todo {% Fim %} {%- Se event.descripton for definido %} - {{ evento.descrição }} Detalhes: {{ evento.descripton }} {% % de diferença} {%- Se event.location for definido %} Em {{evento.local }} {% Fim -%} <Br> {%- Fim %} {%- mais %} Não há compromissos no calendário hoje.{%- Fim %} Classificar do mais recente para o menos recente. Não coloque aspas duplas. Sua resposta em espanhol. response_variable: Resposta à ação: conversa.processo
Posteriormente, um segundo serviço pegará esses dados da variável e os passaremos para a IA da Ollama para que ela possa interpretá-los e lê-los para nós, faça-nos um resumo e conte-nos de forma aleatória os acontecimentos do dia.
Metadados: {} data: cache: verdadeiro media_player_entity_id: media_player.volumio_mpd mensagem: "{{ Resposta.speech.plain.speech }}" Alvo: entity_id: tts.piper habilitado: Ação Verdadeira: tts.speak
E finalmente, com uma terceira ação que pegará o texto gerado por IA e o converterá em áudio, Em uma voz humana, e tocá-lo em todos os alto-falantes da casa.
Espero que tenham gostado, Um post um tanto curioso sobre como dar mais inteligência à casa e tomar forma, Este post é um exemplo com calendários, Mas se você pensar bem, certamente poderá usar essas automações para outras coisas, Eu vou te dar uma ideia 😉 Eu te mando um abraço, Comportem-se bem e cuidem-se!