Un calendario di famiglia condiviso è uno strumento essenziale per coordinare appuntamenti medici, compleanni, eventi scolastici, attività sportive e impegni quotidiani di tutti i membri della famiglia. Integrare questo calendario in Home Assistant trasforma la semplice visualizzazione degli eventi in un potente sistema di automazioni che può inviare promemoria vocali, preparare automaticamente la casa per eventi specifici, o sincronizzare l’illuminazione e il clima in base agli impegni della giornata.
Questa guida completa ti accompagnerà attraverso tutte le fasi: dalla scelta del calendario (Google Calendar, iCloud, CalDAV locale), all’integrazione in Home Assistant, fino alla creazione di automazioni avanzate e dashboard personalizzate per tutta la famiglia.
Perché integrare un calendario in Home Assistant
Vantaggi principali:
-
Automazioni basate su eventi: “15 minuti prima dell’appuntamento dal dentista → annuncio vocale su tutti gli Echo + accendi luci ingresso”
-
Promemoria contestuali: notifiche su smartphone solo quando sei a casa o in determinate zone geografiche
-
Preparazione automatica casa: “Ore 18:00 compleanno figlio → attiva luci festa + playlist bambini + temperatura 22°C”
-
Dashboard centralizzata: visualizza tutti gli impegni familiari su tablet murali o display smart
-
Sincronizzazione multi-piattaforma: eventi visibili su Home Assistant, smartphone, PC, tablet contemporaneamente
-
Privacy e controllo: dati familiari gestiti localmente o su servizi controllati, non su cloud terzi
Metodo 1: Integrazione Google Calendar (consigliato per principianti)
Google Calendar è la scelta più semplice e versatile, perfettamente supportata da Home Assistant con integrazione ufficiale.
Passo 1: Creare il calendario famiglia su Google
-
Accedi a Google Calendar
-
Nella barra laterale sinistra, clicca sul + accanto a “Altri calendari”
-
Seleziona Crea nuovo calendario
-
Compila i campi:
-
Nome: “Famiglia [Cognome]” o “Casa”
-
Descrizione: “Calendario condiviso famiglia – eventi, appuntamenti, compleanni”
-
Fuso orario: Europe/Rome
-
-
Clicca Crea calendario
Passo 2: Condividere il calendario con i familiari
-
Trova il calendario appena creato nella lista “I miei calendari”
-
Clicca sui tre puntini > Impostazioni e condivisione
-
Scorri fino a Condividi con persone specifiche
-
Clicca Aggiungi persone e inserisci email dei familiari
-
Scegli permessi:
-
Apporta modifiche agli eventi: tutti possono aggiungere/modificare eventi
-
Visualizza tutti i dettagli degli eventi: solo lettura
-
-
Clicca Invia
Ora tutti i familiari riceveranno invito e vedranno il calendario sulla propria app Google Calendar.
Passo 3: Configurare l’integrazione Google Calendar su Home Assistant
Metodo semplice via interfaccia UI:
-
Vai su Impostazioni > Dispositivi e servizi > Aggiungi integrazione
-
Cerca Google Calendar
-
Clicca su Google Calendar ufficiale
-
Segui il flusso OAuth per autorizzare Home Assistant ad accedere al tuo account Google
-
Accedi con l’account Google che possiede il calendario famiglia
-
Autorizza Home Assistant a leggere i calendari
-
Seleziona quali calendari importare (spunta “Famiglia [Cognome]”)
-
Conferma e completa la configurazione
Verifica installazione:
Vai su Strumenti per Sviluppatori > Stati e cerca entità tipo:
calendar.famiglia_cognome
Se presente, l’integrazione funziona correttamente.
Passo 4: Creare eventi di test
Aggiungi un evento di prova sul calendario Google (da app smartphone o web) e verifica che compaia in Home Assistant dopo qualche minuto (sincronizzazione automatica ogni 15 minuti).
Metodo 2: Calendario locale CalDAV (per utenti avanzati e privacy)
Per chi preferisce non utilizzare servizi cloud Google, CalDAV permette di ospitare calendari su server locale (Nextcloud, Radicale, Baïkal).
Requisiti:
-
Server CalDAV funzionante (Nextcloud è la soluzione più completa)
-
Accesso rete al server CalDAV da Home Assistant
-
Credenziali account CalDAV
Configurazione Home Assistant CalDAV:
Aggiungi al file configuration.yaml:
calendar:
- platform: caldav
username: tuo_username
password: tuo_password
url: https://tuo-server-nextcloud.com/remote.php/dav
calendars:
- Famiglia
- Compleanni
- Appuntamenti medici
Riavvia Home Assistant. Le entità calendario compariranno come:
calendar.famiglia calendar.compleanni calendar.appuntamenti_medici
Vantaggi CalDAV locale:
-
Privacy totale, dati su server controllato
-
Nessuna dipendenza da Google/Apple
-
Maggiore controllo e personalizzazione
Svantaggi:
-
Richiede manutenzione server CalDAV
-
Configurazione più complessa
-
Sincronizzazione smartphone richiede app terze (DAVx⁵ su Android)
Metodo 3: Calendario iCloud (per famiglie Apple)
Per famiglie con ecosistema Apple completo, iCloud Calendar può essere integrato.
Nota importante: Home Assistant non ha integrazione ufficiale iCloud Calendar nativa. Servono workaround:
-
Condivisione pubblica read-only: esporta calendario iCloud come URL pubblico .ics e importa in Home Assistant con integrazione iCal
-
Sincronizzazione CalDAV: iCloud supporta CalDAV, configurabile come Metodo 2
-
Home Assistant iCloud Custom Integration: componente community (HACS) per accesso diretto
Consiglio: se usi Apple, considera sincronizzazione bidirezionale iCloud ↔ Google Calendar tramite app terze (SyncGene, CalendarBridge) e poi usa integrazione Google Calendar su Home Assistant.
Creare dashboard calendario famiglia
Una volta integrato il calendario, crea una dashboard dedicata visibile su tablet murali o smartphone familiari.
Card Calendario semplice:
Modifica dashboard Lovelace e aggiungi:
type: calendar entities: - calendar.famiglia_cognome - calendar.compleanni title: Calendario Famiglia initial_view: dayGridMonth
Questa card mostra vista mensile con tutti gli eventi.
Card Eventi prossimi (più utile):
type: entities
title: Prossimi Eventi Famiglia
entities:
- entity: calendar.famiglia_cognome
attribute: message
name: Prossimo evento
- entity: calendar.famiglia_cognome
attribute: start_time
name: Quando
- entity: calendar.famiglia_cognome
attribute: location
name: Dove
Mostra dettagli del prossimo evento in arrivo.
Card Markdown personalizzata con template:
type: markdown
title: Oggi in Famiglia
content: |
{% set events = state_attr('calendar.famiglia_cognome', 'message') %}
{% if events %}
**Oggi:** {{ events }}
{% else %}
Nessun evento oggi, godetevi la giornata! 🎉
{% endif %}
Automazioni calendario avanzate
Il vero potere dell’integrazione calendario in Home Assistant emerge con le automazioni.
Esempio 1: Promemoria vocale appuntamenti
automation:
- alias: "Promemoria vocale 30 min prima evento"
description: "Annuncio su Echo 30 minuti prima di ogni evento calendario"
trigger:
platform: calendar
entity_id: calendar.famiglia_cognome
event: start
offset: "-00:30:00" # 30 minuti prima
action:
- service: notify.alexa_media
data:
target:
- media_player.echo_soggiorno
- media_player.echo_cucina
data:
type: announce
message: >
Attenzione! Tra 30 minuti avete: {{ trigger.calendar_event.summary }}.
{% if trigger.calendar_event.location %}
Luogo: {{ trigger.calendar_event.location }}.
{% endif %}
Questa automazione annuncia su tutti gli Echo 30 minuti prima di ogni evento.
Esempio 2: Preparazione automatica casa per eventi specifici
automation:
- alias: "Prepara casa per compleanno"
description: "Automazione festa quando calendario contiene 'Compleanno'"
trigger:
platform: calendar
entity_id: calendar.famiglia_cognome
event: start
offset: "-01:00:00" # 1 ora prima
condition:
- condition: template
value_template: "{{ 'Compleanno' in trigger.calendar_event.summary }}"
action:
- service: light.turn_on
target:
entity_id: light.luci_soggiorno
data:
rgb_color: [255, 0, 255] # Rosa/viola festa
brightness: 255
- service: media_player.play_media
target:
entity_id: media_player.spotify_casa
data:
media_content_type: playlist
media_content_id: "spotify:playlist:37i9dQZF1DX0kbJZpiYdZl" # Happy Hits
- service: climate.set_temperature
target:
entity_id: climate.termostato_soggiorno
data:
temperature: 22
Un’ora prima di eventi con “Compleanno” nel titolo: luci colorate, playlist festa, temperatura confortevole.
Esempio 3: Notifica push solo se a casa
automation:
- alias: "Notifica evento solo se presente"
trigger:
platform: calendar
entity_id: calendar.famiglia_cognome
event: start
offset: "-00:15:00" # 15 minuti prima
condition:
- condition: state
entity_id: person.nome_persona
state: "home"
action:
- service: notify.mobile_app_smartphone
data:
title: "Promemoria Evento"
message: >
Tra 15 minuti: {{ trigger.calendar_event.summary }}
Invia notifica push solo se la persona è effettivamente a casa.
Esempio 4: Accensione luci ingresso prima del rientro
automation:
- alias: "Luci ingresso prima rientro da lavoro"
trigger:
platform: calendar
entity_id: calendar.famiglia_cognome
event: end
condition:
- condition: template
value_template: "{{ 'Lavoro' in trigger.calendar_event.summary }}"
- condition: sun
after: sunset
action:
- service: light.turn_on
target:
entity_id: light.ingresso
data:
brightness: 200
color_temp: 370 # Bianco caldo accogliente
Quando termina evento “Lavoro” e dopo tramonto, accende luci ingresso per rientro.
Esempio 5: Promemoria compleanni ricorrenti
automation:
- alias: "Promemoria compleanno domani"
trigger:
platform: time
at: "20:00:00"
condition:
- condition: template
value_template: >
{% set tomorrow = (now() + timedelta(days=1)).date() %}
{% set events = state_attr('calendar.compleanni', 'message') %}
{{ tomorrow.strftime('%d/%m') in events }}
action:
- service: notify.telegram
data:
message: "🎂 Domani è un compleanno! Non dimenticare di fare gli auguri!"
Ogni sera ore 20:00 controlla se domani c’è un compleanno e invia promemoria Telegram.
Sensori calendario personalizzati
Crea sensori che estraggono informazioni specifiche dal calendario.
Sensore “prossimo evento”:
sensor:
- platform: template
sensors:
prossimo_evento_famiglia:
friendly_name: "Prossimo Evento"
value_template: >
{{ state_attr('calendar.famiglia_cognome', 'message') }}
attribute_templates:
start_time: >
{{ state_attr('calendar.famiglia_cognome', 'start_time') }}
location: >
{{ state_attr('calendar.famiglia_cognome', 'location') }}
Sensore “eventi oggi”:
sensor:
- platform: template
sensors:
eventi_oggi:
friendly_name: "Eventi Oggi"
value_template: >
{% set count = state_attr('calendar.famiglia_cognome', 'offset_reached') %}
{{ count if count else 0 }}
unit_of_measurement: "eventi"
Consigli pratici e best practices
Organizzazione calendari multipli:
Crea calendari separati per categorie:
-
Famiglia– eventi condivisi tutti -
Compleanni– anniversari ricorrenti annuali -
Scuola– eventi scolastici bambini -
Medico– visite specialistiche -
Sport– allenamenti/partite
Questo permette automazioni più mirate.
Convenzioni titoli eventi:
Usa parole chiave riconoscibili per trigger automazioni:
-
“Compleanno [Nome]” → automazione festa
-
“Lavoro” o “Ufficio” → automazione rientro serale
-
“Medico” → promemoria partenza con traffico
-
“Scuola” → sveglia anticipata bambini
Sincronizzazione bidirezionale:
Google Calendar sincronizza automaticamente bidirezionalmente: eventi aggiunti su Home Assistant (via servizi) compaiono su Google e viceversa.
Backup calendario:
Google Calendar ha backup automatico cloud. Per CalDAV locale, configura backup regolari del database calendario.
Risoluzione problemi comuni
Eventi non compaiono in Home Assistant:
-
Verifica sincronizzazione ogni 15 minuti (attendi)
-
Controlla credenziali Google/CalDAV corrette
-
Ricarica integrazione da Impostazioni > Dispositivi e servizi
Automazioni non trigger:
-
Verifica offset tempo corretto (usa formato HH:MM:SS)
-
Controlla fuso orario Home Assistant e calendario allineati
-
Testa con evento tra 5 minuti per debug
Troppi eventi triggherano automazioni:
-
Usa condition con template per filtrare per parole chiave nel titolo
-
Crea calendari separati per eventi che necessitano automazioni diverse
