Idiomes: Català | English | Español
Integració comunitària i no oficial per a Home Assistant del Servei Meteorològic de Catalunya (Meteocat).
📢 Integració de la Comunitat
Aquesta és una integració creada per la comunitat, gratuïta i de codi obert. No està afiliada, patrocinada ni aprovada pel Servei Meteorològic de Catalunya.
✅ Ús Legal i Oficial de l'API: Utilitza l'API oficial del Meteocat de manera completament legal i seguint les seves condicions d'ús.
🎯 Objectiu: Facilitar la integració amb Home Assistant sense necessitat de conèixer el funcionament intern de l'API. No té cap finalitat comercial ni busca obtenir cap benefici econòmic.
Important
Cal registrar-se a l'API de Meteocat per obtenir una clau API:
- 🆓 Pla ciutadà (gratuït)
- 💼 Pla empresa (de pagament)
Registra't a: https://apidocs.meteocat.gencat.cat/
- 🌡️ Dades meteorològiques actualitzades de les estacions XEMA
- 📊 Prediccions horàries (72 hores) i diàries (8 dies)
- 📈 Sensors de quotes API per controlar l'ús
- 🏢 Múltiples estacions configurables
- 🏙️ Mode Estació Local per combinar sensors propis amb prediccions oficials
- ☀️ Càlcul precís de dia/nit: La icona de condició (Sol/Nit serena) canvia automàticament segons la posta de sol a la ubicació real de l'estació, independentment d'on estigui instal·lat el teu Home Assistant.
- 🌍 Traduccions en català, castellà i anglès
- Assegura't que tens HACS instal·lat
- A HACS, ves a "Integracions"
- Fes clic al menú de 3 punts (dalt a la dreta) i selecciona "Repositoris personalitzats"
- Afegeix aquest URL:
https://github.com/PacmanForever/meteocat_community_edition - Categoria:
Integration - Fes clic a "Afegir"
- Cerca "Meteocat" i instal·la
- Reinicia Home Assistant
- Descarrega la carpeta
custom_components/meteocat_community_edition - Copia-la a
<config>/custom_components/meteocat_community_edition - Reinicia Home Assistant
-
Pas de mapeig de condició climàtica: En mode local, pots definir com es mapeja la condició climàtica (icona) de l'entitat Weather.
- Pots triar entre:
- Automàtic (Meteocat): El valor de condició s'agafa directament de la predicció oficial de Meteocat.
- Personalitzat: Pots definir un mapeig manual entre els valors del sensor local i les condicions suportades per Home Assistant.
- Aquesta pantalla està completament traduïda a català, castellà i anglès.
- Pots triar entre:
-
Edició del mapping després de la configuració: Les estacions locals ja configurades poden modificar el seu mapping de condició climàtica en qualsevol moment a través de les opcions de la integració.
-
Exemple de mapeig: S'ofereix un exemple de mapeig a la pantalla per facilitar la configuració.
-
Millores en les etiquetes de la interfície: Les pantalles de configuració tenen etiquetes més clares i descripcions simplificades.
- Mode Estació Externa: La condició (icona de l'entitat weather) s'obté de les dades en temps real (XEMA), concretament de la variable de "Estat del cel" (codi 35). Per tant, funciona independentment de si s'ha activat la predicció.
- Mode Estació Local: La condició per defecte es basa en la Predicció Diària d'aquell municipi.
- Si desactives la predicció diària, l'entitat weather no podrà determinar la condició global i la icona pot sortir en blanc i negre (estat desconegut/generic), llevat que hagis configurat una entitat local per a la condició ("Condició del cel") a les opcions.
- Per garantir que la icona es mostri correctament en mode Local sense sensors personalitzats, es recomana mantenir activada la Predicció Diària.
- Botons d'actualització: Els botons "Actualitzar Mesures" i "Actualitzar Predicció" ara sempre mostren una icona.
- URL de l'API: Quan configures una URL de proves, la integració utilitza aquesta URL per a totes les crides, mai la real si no està configurada.
- Totes les pantalles, inclòs el nou pas de mapeig, estan traduïdes a català, castellà i anglès.
- La versió actual del manifest és
1.2.89i coincideix amb l'últim tag de git.
- La lògica de la pantalla de mapeig, la configuració, els botons i la gestió de l'API estan coberts per tests automàtics.
- Registra't a https://apidocs.meteocat.gencat.cat/
- Segueix el procés de registre
- Obtindràs una clau API única
- A Home Assistant, ves a Configuració → Dispositius i Serveis
- Fes clic a Afegir integració
- Cerca Meteocat (Community Edition)
- Introdueix la teva clau API
- Selecciona "Estació XEMA"
- Selecciona la comarca
- Selecciona l'estació meteorològica
- Configura les hores d'actualització (per defecte 06:00 i 14:00)
Això crearà:
- Entitat Weather amb dades actuals de l'estació i prediccions
- Sensors de quotes API
- Sensors d'hores d'actualització configurades
⚠️ Important: Aquest mode està pensat exclusivament per a usuaris que tenen una estació meteorològica local (Davis, Netatmo, Ecowitt, etc.) i volen complementar-la amb les prediccions horàries i diàries oficials de Meteocat. Si no tens cap estació meteorològica local a Home Assistant, fes servir el Mode Estació que et proporcionarà tant dades de monitorització com de prediccions.
Aquest mode crea sensors amb les prediccions en els seus atributs, permetent-te utilitzar-les en entitats weather.template personalitzades que combinin dades de la teva estació local amb prediccions oficials.
- A Home Assistant, ves a Configuració → Dispositius i Serveis
- Fes clic a Afegir integració
- Cerca Meteocat (Community Edition)
- Introdueix la teva clau API
- Selecciona "Predicció municipal"
- Selecciona la comarca
- Selecciona el municipi
- Configura les hores d'actualització (per defecte 06:00 i 14:00)
Això crearà:
- Sensor de predicció horària (72h en atributs) - Per utilitzar en
weather.template - Sensor de predicció diària (8 dies en atributs) - Per utilitzar en
weather.template - Sensors de quotes API
- Sensors d'hores d'actualització configurades
Pots configurar múltiples estacions i municipis (amb diferents API keys per incrementar els límits).
Per configurar un endpoint personalitzat, modificar les hores d'actualització o canviar el mapping de condicions climàtiques:
- Ves a Configuració → Dispositius i Serveis
- Troba Meteocat (Community Edition)
- Fes clic als 3 punts → Opcions
- Modifica:
- URL base de l'API (deixa valor per defecte o buit per a producció)
- Hores d'actualització (format 24h: HH:MM)
- Tipus de mapeig de la condició climàtica (només en Mode Estació Local)
En Mode Estació Local, pots personalitzar com es determina la condició climàtica (l'icona que es mostra a la targeta del temps) de l'entitat weather.
-
Automàtic (Meteocat) (per defecte)
- La condició s'agafa directament de la predicció oficial del Meteocat
- No requereix cap configuració addicional
- Sempre mostra una condició vàlida basada en dades oficials
-
Personalitzat
- Defineix el teu propi mapeig entre valors del teu sensor local i condicions de Home Assistant
- Útil quan tens sensors que reporten valors numèrics (0, 1, 2...) que representen condicions
- Permet integrar sensors personalitzats (ESPHome, etc.) amb lògica pròpia
Quan configures una nova estació local:
- Selecciona "Predicció municipal"
- Selecciona la comarca i municipi
- A la pantalla "Tipus de mapeig de la condició climàtica", selecciona "Personalitzat"
- Selecciona el sensor que conté el valor de condició (obligatori)
- Configura el mapeig per a cada condició:
- Apareixerà un formulari amb totes les condicions meteorològiques suportades per Home Assistant (Sunny, Cloudy, Rainy, etc.).
- Per a cada condició, introdueix el valor (o valors) que retorna el teu sensor quan es dona aquesta condició.
- Si el teu sensor retorna diversos valors per a una mateixa condició, separa'ls per comes (exemple:
1, 2osoleado, despejado). - Els camps es poden deixar buits si el teu sensor no suporta algunes condicions.
ℹ️ Les condicions disponibles corresponen als valors estàndard de Home Assistant.
Per modificar el mapping d'una estació ja configurada:
- Ves a Configuració → Dispositius i Serveis
- Troba la teva integració Meteocat (Community Edition)
- Fes clic als 3 punts → Opcions
- A "Tipus de mapeig de la condició climàtica", canvia entre "Meteocat" o "Personalitzat"
- Si selecciones "Personalitzat", apareixerà la pantalla de configuració del mapping
- Modifica el sensor i/o el mapeig segons calgui
💡 Consell: Quan edites un mapping existent, l'edició acaba directament sense tornar als sensors, ja que ja està tot configurat.
A la pantalla de configuració, apareixerà un formulari amb un camp per a cada condició climàtica suportada per Home Assistant.
- Camps: Cada camp correspon a una condició (ex: assolellat, plujós, etc.).
- Valors: Introdueix el valor numèric (o text) que el teu sensor local envia per a aquella condició.
- Múltiples valors: Si el teu sensor envia diferents valors per a una mateixa condició, separa'ls per comes (ex:
1, 2). - Valors buits: Deixa el camp buit si el teu sensor no suporta aquella condició.
Exemple de configuració:
Si el teu sensor retorna 0 per a "Clar (nit)" i 1 per a "Assolellat":
- Camp clear-night:
0 - Camp sunny:
1 - Camp partlycloudy:
2 - Camp cloudy:
3 - Camp rainy:
4 - ...
Si el valor del sensor no té una correspondència al mapeig, o si hi ha algun error:
- La targeta del temps mostra: "unknown" amb icona genèrica (blanc i negre)
- Això és el comportament correcte i indica que cal revisar la configuració del mapping
- No es mostra cap icona de color per evitar mostrar informació incorrecta
Pots canviar lliurement entre "Meteocat" i "Personalitzat" en qualsevol moment:
- De Meteocat a Personalitzat: Apareix la pantalla de configuració del mapping
- De Personalitzat a Meteocat: S'eliminen les dades de mapping personalitzat i es torna al comportament per defecte
La integració crea diferents entitats segons el mode configurat:
Aquest mode està pensat per obtenir dades d'una estació meteorològica oficial del Meteocat.
Dispositiu: {Nom Estació} {Codi} (ex: "Barcelona - Raval YM")
| Tipus | Entitat | Descripció |
|---|---|---|
| Weather | weather.{estacio}_{codi} |
Entitat principal. Mostra l'estat actual (temperatura, humitat, vent, pressió, pluja) obtingut de l'estació XEMA i la predicció (horària i diària) del municipi on es troba l'estació. |
| Sensor | sensor.{estacio}_{codi}_precipitation |
Precipitació diària acumulada (mm) (Si l'estació en disposa). |
| Sensor | sensor.{estacio}_{codi}_utci_index |
Índex UTCI (Sensació tèrmica). Només disponible si l'estació té Temperatura, Humitat i Vent. |
| Sensor | sensor.{estacio}_{codi}_utci_literal |
Estat de Confort Tèrmic. Text i icona que indica el nivell d'estrès tèrmic basat en l'UTCI. |
| Sensor | sensor.{estacio}_{codi}_beaufort_index |
Índex Beaufort (0-17). Només disponible si l'estació té Vent. |
| Sensor | sensor.{estacio}_{codi}_beaufort_description |
Descripció Beaufort. Text que descriu la força del vent segons l'escala. |
| Sensor | sensor.{estacio}_{codi}_quota_disponible_{pla} |
Un sensor per a cada pla de quotes rellevant (Predicció, XEMA). Mostra les peticions restants. |
| Binary Sensor | binary_sensor.{estacio}_{codi}_update_state |
Indica l'estat de l'última actualització (OFF = Correcte, ON = Error). |
| Sensor | sensor.{estacio}_{codi}_last_update |
Timestamp de l'última actualització de mesures (horària). |
| Sensor | sensor.{estacio}_{codi}_next_update |
Timestamp de la pròxima actualització de mesures (horària). |
| Sensor | sensor.{estacio}_{codi}_last_forecast_update |
Timestamp de l'última actualització de predicció. |
| Sensor | sensor.{estacio}_{codi}_next_forecast_update |
Timestamp de la pròxima actualització de predicció programada. |
| Sensor | sensor.{estacio}_{codi}_update_time_{n} |
Mostra les hores d'actualització de predicció configurades (ex: 06:00, 14:00). |
| Sensor | sensor.{estacio}_{codi}_altitude |
Altitud de l'estació (metres). |
| Sensor | sensor.{estacio}_{codi}_latitude |
Latitud de l'estació. |
| Sensor | sensor.{estacio}_{codi}_longitude |
Longitud de l'estació. |
| Sensor | sensor.{estacio}_{codi}_comarca_name |
Nom de la comarca. |
| Sensor | sensor.{estacio}_{codi}_municipality_name |
Nom del municipi (si disponible). |
| Sensor | sensor.{estacio}_{codi}_provincia_name |
Nom de la província (si disponible). |
| Button | button.{estacio}_{codi}_refresh |
Botó per forçar una actualització manual immediata. |
Aquest mode està pensat per a usuaris que tenen una estació meteorològica pròpia (Netatmo, Ecowitt, ESPHome, etc.) integrada a Home Assistant.
Permet crear una entitat weather que combina:
- Dades actuals: Dels teus sensors locals (Temperatura, Humitat, Pressió, Vent, Intensitat de Pluja).
- Predicció: Oficial del Meteocat per al teu municipi.
Nota sobre la pluja: Si configures el sensor d'Intensitat de Pluja, l'entitat mostrarà l'estat "Plujós" quan detecti precipitació. Si no plou, mostrarà la predicció de Meteocat (ex: "Sol", "Ennuvolat").
Dispositiu: {Nom Municipi} (ex: "Barcelona")
| Tipus | Entitat | Descripció |
|---|---|---|
| Weather | weather.{municipi} |
Entitat principal. Mostra l'estat actual (dels teus sensors) i la predicció (del Meteocat). Si la condició climàtica no es pot determinar, mostra "unknown" amb icona genèrica. |
| Sensor | sensor.{municipi}_utci_index |
Temperatura UTCI (Sensació tèrmica). Només disponible si has configurat Temperatura, Humitat i Vent locals. |
| Sensor | sensor.{municipi}_utci_literal |
Estrès tèrmic. Text i icona que indica el nivell d'estrès tèrmic basat en l'UTCI. |
| Sensor | sensor.{municipi}_beaufort_index |
Índex Beaufort (0-17). Només disponible si has configurat Vent local. |
| Sensor | sensor.{municipi}_beaufort_description |
Descripció Beaufort. Text que descriu la força del vent segons l'escala. |
| Sensor | sensor.{municipi}_prediccio_horaria |
L'estat mostra les hores disponibles. Els atributs contenen la predicció completa per a 72h. |
| Sensor | sensor.{municipi}_prediccio_diaria |
L'estat mostra els dies disponibles. Els atributs contenen la predicció completa per a 8 dies. |
| Sensor | sensor.{municipi}_quota_disponible_{pla} |
Un sensor per a cada pla de quotes rellevant (Predicció). Mostra les peticions restants. |
| Binary Sensor | binary_sensor.{municipi}_update_state |
Indica l'estat de l'última actualització (OFF = Correcte, ON = Error). |
| Sensor | sensor.{municipi}_last_update |
Timestamp de l'última actualització exitosa. |
| Sensor | sensor.{municipi}_next_update |
Timestamp de la pròxima actualització programada. |
| Sensor | sensor.{municipi}_update_time_{n} |
Mostra les hores d'actualització configurades. |
| Sensor | sensor.{municipi}_municipality_name |
Nom del municipi. |
| Sensor | sensor.{municipi}_comarca_name |
Nom de la comarca. |
| Sensor | sensor.{municipi}_provincia_name |
Nom de la província (si disponible). |
| Sensor | sensor.{municipi}_municipality_latitude |
Latitud del municipi (si disponible). |
| Sensor | sensor.{municipi}_municipality_longitude |
Longitud del municipi (si disponible). |
| Button | button.{municipi}_refresh |
Botó per forçar una actualització manual immediata. |
Nota: Durant la configuració, se't demanarà que seleccionis els sensors de la teva estació local per alimentar l'entitat
weather.
El sensor "Estrès tèrmic" mostra un text i una icona segons el valor de la temperatura UTCI.
Mètode de càlcul (v1.2.82+): El càlcul de la temperatura UTCI utilitza l'estàndard científic basat en el polinomi de regressió de sisè grau de Bröde et al. (2012). Aquest mètode integra:
- Temperatura de l'aire (
$T_a$ ) - Humitat relativa (RH) i pressió de vapor (
$P_a$ ) - Velocitat del vent a 10m (
$v_{10m}$ , ajustada des de l'alçada del sensor)
A diferència de fórmules simplificades, aquest model capta millor les interaccions complexes entre humitat i vent, especialment en condicions de fred. Nota: S'assumeix $T_{mrt} \approx T_a$ (condicions d'ombra).
| Rang UTCI (ºC) | Estat | Icona |
|---|---|---|
| > 46 | Estrès extrem per calor | thermometer-alert |
| 38 a 46 | Estrès molt fort per calor | thermometer-alert |
| 32 a 38 | Estrès fort per calor | thermometer-alert |
| 26 a 32 | Estrès moderat per calor | thermometer-alert |
| 9 a 26 | Confort (Sense estrès) | check-circle-outline |
| 0 a 9 | Estrès moderat per fred | snowflake-alert |
| -13 a 0 | Estrès fort per fred | snowflake-alert |
| -27 a -13 | Estrès molt fort per fred | snowflake-alert |
| < -27 | Estrès extrem per fred | snowflake-alert |
A més de la velocitat del vent en km/h, la integració ofereix l'escala Beaufort (0-17) i la seva descripció associada. Aquesta escala és útil per entendre els efectes del vent en mar i terra.
Nota: Encara que l'escala tradicional arriba fins a 12 (Huracà), aquesta integració suporta l'escala ampliada fins a 17, utilitzada en meteorologia extrema.
| Índex | Descripció | km/h (aprox) |
|---|---|---|
| 0 | Calma | < 1 |
| 1 | Ventolina | 1 - 5 |
| 2 | Vent fluixet | 6 - 11 |
| 3 | Vent fluix | 12 - 19 |
| 4 | Vent moderat | 20 - 28 |
| 5 | Vent fresquet | 29 - 38 |
| 6 | Vent fresc | 39 - 49 |
| 7 | Vent fort | 50 - 61 |
| 8 | Temporal | 62 - 74 |
| 9 | Temporal fort | 75 - 88 |
| 10 | Temporal molt fort | 89 - 102 |
| 11 | Temporal violent | 103 - 117 |
| 12+ | Huracà | > 117 |
La integració està optimitzada per estalviar quota de l'API i assegurar que arribes a final de mes sense problemes, però mantenint les dades de l'estació actualitzades.
Les dades s'actualitzen de la següent manera:
- Dades de l'estació (XEMA): S'actualitzen cada hora (al minut 0).
- Prediccions i Quotes: S'actualitzen NOMÉS a les hores programades (per defecte a les 06:00 i 14:00).
- Manualment: Quan prems el botó "Actualitzar dades" (s'actualitza tot).
Mode Estació (XEMA):
- Cada hora: 1 crida (measurements + quotes)
- A les hores de predicció: 3 crides addicionals (forecast + hourly + quotes)
- Mitjana diària: ~30 crides (24 hores × 1 + 2 prediccions × 3)
Mode Estació Local:
- A les hores de predicció: 3 crides (forecast + hourly + quotes)
- Mitjana diària: ~6 crides (2 programades × 3)
| Mode | Crides/dia | Crides/mes | Quota restant* | Actualitzacions manuals disponibles |
|---|---|---|---|---|
| Estació XEMA | ~30 | ~900 | ~100 | ~3/dia (100÷30) |
| Estació Local | ~6 | ~180 | ~820 | ~27/dia (820÷30) |
* Assumint quota de 1000 crides/mes (pla Predicció estàndard)
Pots modificar les hores d'actualització a través de:
Configuració → Dispositius i Serveis → (3 punts de la integració) → Opcions
- Hora d'actualització 1: Primera hora del dia (format 24h: HH:MM)
- Hora d'actualització 2: Segona hora del dia (format 24h: HH:MM)
Exemples de configuració:
- Predeterminat: 06:00 i 14:00
- Noctàmbul: 10:00 i 22:00
- Matiner: 05:00 i 12:00
Cada entrada crea un botó "Actualitzar dades" que et permet forçar una actualització immediata quan la necessitis:
- No afecta les actualitzacions programades
- Consumeix quota de l'API (5 crides en mode Estació XEMA, 4 en mode Estació Local)
- Útil per obtenir dades fresques abans d'un esdeveniment o viatge
Cada entrada de la integració dispara un esdeveniment (meteocat_community_edition_data_updated) cada cop que s'actualitzen les dades, tant si és una actualització automàtica programada com si és manual (via botó).
Aquest esdeveniment conté la següent informació:
mode: Mode de l'entrada (externalolocal)station_code: Codi de l'estació (només en Mode Estació)municipality_code: Codi del municipi (si està disponible)timestamp: Moment exacte de l'actualització (ISO 8601)
Pots crear automatitzacions que es desencadenin quan hi hagi noves dades:
automation:
- alias: "Notificació quan s'actualitza Meteocat"
trigger:
- platform: event
event_type: meteocat_community_edition_data_updated
event_data:
mode: external
station_code: YM
action:
- service: notify.mobile_app
data:
message: "Noves dades meteorològiques disponibles de l'estació Barcelona!"
- alias: "Actualitzar dashboard amb noves prediccions"
trigger:
- platform: event
event_type: meteocat_community_edition_data_updated
event_data:
mode: local
municipality_code: "080759"
action:
- service: script.refresh_weather_dashboard
data: {}També pots escoltar l'esdeveniment sense filtres per actuar amb qualsevol actualització:
automation:
- alias: "Log actualitzacions Meteocat"
trigger:
- platform: event
event_type: meteocat_community_edition_data_updated
action:
- service: logbook.log
data:
name: Meteocat
message: >
Actualització de dades completada:
Mode={{ trigger.event.data.mode }},
Timestamp={{ trigger.event.data.timestamp }}Tant en el Mode Estació XEMA com en el Mode Estació Local, es creen sensors addicionals amb les dades de predicció en brut. Això és útil si vols crear targetes personalitzades o automatitzacions avançades.
sensor.{municipi}_prediccio_horaria: Predicció de les pròximes 72 horessensor.{municipi}_prediccio_diaria: Predicció dels pròxims 8 diessensor.{municipi}_quota_{pla}: Consums API (Predicció)binary_sensor.{municipi}_update_state: Estat de l'última actualització predicció (OFF=OK, ON=Error)sensor.{municipi}_last_update: Darrera actualitzaciósensor.{municipi}_next_update: Pròxima actualització programadabutton.{municipi}_refresh: Botó per actualitzar manualment
Els sensors emmagatzemen les prediccions completes als seus atributs:
L'estat del sensor mostra el nombre d'hores disponibles (ex: "72 hores").
Atributs disponibles:
# Accedir a totes les dades de predicció horària (Format original API Meteocat)
{{ state_attr('sensor.barcelona_prediccio_horaria', 'forecast') }}
# Accedir a les dades en format Home Assistant (llest per weather.template)
{{ state_attr('sensor.barcelona_prediccio_horaria', 'forecast_ha') }}
# Exemple: accedir a les temperatures d'avui (Format original)
{{ state_attr('sensor.barcelona_prediccio_horaria', 'forecast').dies[0].variables.temp.valors }}L'estat del sensor mostra el nombre de dies disponibles (ex: "8 dies").
Atributs disponibles:
# Accedir a totes les dades de predicció diària (Format original API Meteocat)
{{ state_attr('sensor.barcelona_prediccio_diaria', 'forecast') }}
# Accedir a les dades en format Home Assistant (llest per weather.template)
{{ state_attr('sensor.barcelona_prediccio_diaria', 'forecast_ha') }}
# Exemple: temperatura màxima de demà
{{ state_attr('sensor.barcelona_prediccio_diaria', 'forecast').dies[1].variables.tmax.valor }}Utilitza aquestes dades per crear targetes al teu dashboard:
type: vertical-stack
cards:
- type: markdown
content: |
## Predicció horària - {{ state_attr('sensor.barcelona_prediccio_horaria', 'forecast').nom }}
**Available:** {{ states('sensor.barcelona_prediccio_horaria') }}
{% set forecast = state_attr('sensor.barcelona_prediccio_horaria', 'forecast') %}
{% if forecast and forecast.dies %}
{% for dia in forecast.dies[:2] %}
### {{ dia.data }}
Temperature: {{ dia.variables.temp.valors[:6] | join(', ') }}°C
{% endfor %}
{% endif %}
- type: markdown
content: |
## Predicció diària - Next days
**Available:** {{ states('sensor.barcelona_prediccio_diaria') }}
{% set forecast = state_attr('sensor.barcelona_prediccio_diaria', 'forecast') %}
{% if forecast and forecast.dies %}
{% for dia in forecast.dies[:5] %}
**{{ dia.data }}**: {{ dia.variables.tmin.valor }}°C - {{ dia.variables.tmax.valor }}°C
{% endfor %}
{% endif %}Pots crear sensors template per extreure dades específiques:
template:
- sensor:
- name: "Temperatura actual Barcelona"
unit_of_measurement: "°C"
state: >
{% set forecast = state_attr('sensor.Barcelona_prediccio_horaria', 'forecast') %}
{% if forecast and forecast.dies %}
{{ forecast.dies[0].variables.temp.valors[now().hour] }}
{% else %}
unknown
{% endif %}
- name: "Temperatura màxima demà"
unit_of_measurement: "°C"
state: >
{% set forecast = state_attr('sensor.Barcelona_prediccio_diaria', 'forecast') %}
{% if forecast and forecast.dies | length > 1 %}
{{ forecast.dies[1].variables.tmax.valor }}
{% else %}
unknown
{% endif %}
- name: "Pluja prevista avui"
unit_of_measurement: "mm"
state: >
{% set forecast = state_attr('sensor.Barcelona_prediccio_diaria', 'forecast') %}
{% if forecast and forecast.dies %}
{{ forecast.dies[0].variables.ppcp.valor | default(0) }}
{% else %}
0
{% endif %}Crea automatitzacions basades en les prediccions futures:
automation:
- alias: "Avís temperatura alta demà"
trigger:
- platform: time
at: "20:00:00"
condition:
- condition: template
value_template: >
{% set forecast = state_attr('sensor.Barcelona_prediccio_diaria', 'forecast') %}
{{ forecast.dies[1].variables.tmax.valor | float > 30 }}
action:
- service: notify.mobile_app
data:
message: "Demà farà més de 30°C!"Utilitza Developer Tools → Template de Home Assistant per explorar l'estructura completa de les dades:
# Veure tota l'estructura de predicció horària
{{ state_attr('sensor.Barcelona_prediccio_horaria', 'forecast') }}
# Veure tota l'estructura de predicció diària
{{ state_attr('sensor.Barcelona_prediccio_diaria', 'forecast') }}Consell: Les estructures de dades segueixen exactament el format de l'API de Meteocat. Consulta la documentació oficial de l'API per conèixer tots els camps disponibles.
L'API de Meteocat té límits de peticions que depenen del pla contractat. Consulta la documentació oficial de Meteocat per conèixer els límits actualitzats de cada pla.
Cada entrada de la integració crea sensors de quotes que mostren les peticions disponibles dels plans rellevants (Predicció i XEMA), filtrant aquells que no s'utilitzen (Referència, XDDE).
Aquesta integració està optimitzada per minimitzar l'ús:
- Només 2 actualitzacions automàtiques al dia (6:00 i 14:00)
- Les quotes es consulten després de les altres APIs per comptabilitzar correctament
- Els sensors de quotes et permeten monitoritzar l'ús en temps real
Degut a que el pla domèstic permet poques consultes al mes, el sistema permet crear diverses estacions amb API keys diferents per poder exprimir les limitacions de l'API.
Avantatges:
- Cada estació utilitza la seva pròpia quota independent
- Pots monitoritzar l'ús de cada API key per separat
- Ideal per usuaris amb múltiples estacions o necessitats elevades de dades
Com fer-ho:
- Registra múltiples comptes a l'API de Meteocat (cada compte té la seva quota independent)
- Afegeix cada estació amb una API key diferent
- Utilitza els sensors de quotes per controlar l'ús de cada compte
Consell: Si necessites més peticions, pots crear múltiples entrades amb diferents API Keys.
- Les prediccions municipals depenen de la disponibilitat a l'API de Meteocat
- En Mode Estació Externa, algunes estacions poden no tenir municipi associat per a prediccions
- Requereix connexió a Internet
- Verifica que la clau API sigui correcta
- Comprova la connexió a Internet
- Assegura't que no has superat els límits de quotes
- Algunes estacions poden no tenir municipi associat
- Espera a la següent actualització programada
- Afegeix l'estació amb una API Key diferent
- Espera al reset de quotes (consultable als sensors)
Les contribucions són benvingudes! Si us plau:
- Fork del repositori
- Crea una branca per a la teva característica
- Fes commit dels canvis
- Envia un Pull Request
Aquest projecte està llicenciat sota GPL-3.0 - veure LICENSE per detalls.
- Servei Meteorològic de Catalunya per proporcionar l'API
- Comunitat de Home Assistant
Aquesta és una integració no oficial creada per la comunitat per facilitar l'ús de l'API pública del Meteocat a Home Assistant.
- ❌ NO està afiliada, patrocinada ni aprovada pel Servei Meteorològic de Catalunya
- ✅ SÍ utilitza l'API oficial del Meteocat de manera legal i respectant les seves condicions d'ús
- 💰 Gratuïta: Projecte de codi obert sense ànim de lucre
- 🎯 Propòsit: Simplificar la integració amb Home Assistant sense necessitat de programar crides directes a l'API
Per utilitzar aquesta integració, cal que et registris a https://apidocs.meteocat.gencat.cat/ i obtinguis la teva pròpia clau API segons les condicions establertes pel Meteocat.
Aquest programari es distribueix sota la llicència GPL-3.0 (GNU General Public License v3.0):
- ✅ Programari lliure: Pots usar, modificar i redistribuir aquest codi
- 📖 Codi obert: Tot el codi font està disponible públicament
- 🔄 Copyleft: Les modificacions han de mantenir la mateixa llicència GPL-3.0
⚠️ Sense garanties: Aquest programari es proporciona "TAL QUAL" (AS IS), sense cap mena de garantia, ni explícita ni implícita, incloent-hi però sense limitar-se a les garanties de comercialització, idoneïtat per a un propòsit particular i no infracció. En cap cas els autors seran responsables de cap reclamació, dany o altra responsabilitat.
Consulta el fitxer LICENSE per la llicència completa.