L’OpenHolidays API è un’API REST gratuita e open-source che fornisce dati sulle festività e sulle vacanze scolastiche per oltre 35 paesi. TapHome si connette a questo servizio cloud tramite HTTPS utilizzando un template PacketParser HTTP — non è necessaria alcuna autenticazione né chiave API.
Il template fornisce tre dispositivi booleani in sola lettura: uno per le festività, uno per le vacanze scolastiche e uno per i fine settimana. Questi possono essere utilizzati nelle smart rules di TapHome per regolare programmi di riscaldamento, modalità di allarme, scene di illuminazione o qualsiasi altra automazione in base al fatto che oggi sia un giorno lavorativo o meno.
Il template è stato creato da ToBo, un contributore della comunità.
Configurazione
Durante l’importazione del template sono richiesti due parametri:
- Country — codice paese ISO 3166-1 alpha-2 (es.
SKper la Slovacchia,DEper la Germania,CZper la Repubblica Ceca). L’elenco completo dei paesi supportati è disponibile suhttps://openholidaysapi.org/Countries. - Region — codice di suddivisione ISO 3166-2 (es.
SK-BCper la regione di Banská Bystrica,DE-BYper la Baviera). L’elenco delle suddivisioni per un dato paese è disponibile suhttps://openholidaysapi.org/Subdivisions?countryIsoCode={CountryCode}.
Entrambi i parametri sono memorizzati come Module Variables in TapHome e possono essere modificati dopo l’importazione senza reimportare il template.
Molti paesi hanno festività specifiche per regione. Se il rilevamento delle festività sembra errato, verifica che il codice di suddivisione corrisponda alla regione corretta — non solo al codice del paese.
Funzionalità dei dispositivi
Rilevamento festività
Il dispositivo Giorno festivo interroga l’endpoint GET /PublicHolidays una volta all’ora. Invia la data odierna insieme ai codici paese e regione configurati. Se l’API restituisce una voce festiva per quella data, il dispositivo mostra Yes; altrimenti mostra No.
Rilevamento vacanze scolastiche
Il dispositivo Vacanza scolastica funziona allo stesso modo ma interroga l’endpoint GET /SchoolHolidays. Rileva se oggi ricade in un periodo di vacanza scolastica per il paese e la regione configurati.
La disponibilità dei dati sulle vacanze scolastiche varia in base al paese. Alcuni paesi hanno una copertura limitata delle suddivisioni — consulta la documentazione API per verificare che la tua regione sia supportata.
Rilevamento fine settimana
Il dispositivo Fine settimana non chiama l’API. Utilizza la funzione locale di TapHome NOW().DAYOFWEEK per determinare se oggi è sabato (giorno 6) o domenica (giorno 0). Questo dispositivo funziona indipendentemente dall’API e non richiede una connessione internet.
Funzionalità aggiuntive
L’OpenHolidays API espone anche endpoint per interrogare le festività in base a una data specifica in tutti i paesi (/PublicHolidaysByDate, /SchoolHolidaysByDate), elencare i paesi supportati e le suddivisioni regionali e ottenere statistiche sugli intervalli di dati disponibili. Questi possono essere aggiunti in un futuro aggiornamento del template.
Risoluzione dei problemi
Il rilevamento delle festività restituisce risultati errati
- Verifica che il codice paese sia corretto — usa l’endpoint
/Countriesper controllare l’elenco dei paesi supportati - Verifica il codice della regione (suddivisione) — alcune festività sono specifiche per regione e non appariranno con un codice di suddivisione errato
- Controlla l’API direttamente nel browser:
https://openholidaysapi.org/PublicHolidays?countryIsoCode=SK&subdivisionCode=SK-BC&validFrom=2026-01-01&validTo=2026-01-01— sostituisci la data e i codici con i tuoi valori - Se l’API restituisce un array vuoto
[]per una data che dovrebbe essere festiva, i dati per quel paese o anno potrebbero non essere ancora disponibili
Il dispositivo mostra un errore (NaN)
Se l’API non è raggiungibile (problema di rete, errore DNS o interruzione dell’API), il template restituisce NaN con il codice di stato HTTP nel messaggio di errore. L’OpenHolidays API è un progetto comunitario senza SLA — controlla la disponibilità attuale sulla pagina di stato su https://openpotato.github.io/uptime/.
L’OpenHolidays API è un progetto open data mantenuto dalla comunità. Sebbene sia stato disponibile in modo affidabile, non esiste alcuna garanzia di uptime. Per automazioni mission-critical, considera l’aggiunta di una regola di fallback che gestisca lo stato di errore in modo elegante.