Module UltimateMeteo ES

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search


Módulo UltimateMeteo

Presentación

El módulo UltimateMeteo es una extensión para Dolibarr ERP/CRM desarrollada por Atoo-Net.

Muestra la información meteorológica en tiempo real directamente en las fichas de terceros, proveedores, contactos y miembros, basándose en la dirección registrada en Dolibarr. Utiliza API gratuitas y no requiere ninguna clave API.

Propiedad Valor
Autor Philippe Grand — Atoo-Net
Versión 24.0.2
Licencia GNU GPL v3+
Dolibarr mínimo v24.0
PHP mínimo v8.0

¿Por qué utilizar UltimateMeteo?

Las condiciones meteorológicas tienen un impacto directo en numerosas actividades profesionales. UltimateMeteo integra la información meteorológica allí donde la necesita — directamente en sus fichas de Dolibarr — para ayudarle a tomar mejores decisiones sin cambiar de herramienta.

Casos de uso

Construcción y oficios de la edificación

Antes de planificar una intervención exterior (tejados, pintura, cimentaciones), consulte la previsión meteorológica de la dirección de su cliente directamente desde su ficha. Evite enviar un equipo a una obra bajo la lluvia o con heladas.

Agricultura y zonas verdes

Al planificar tratamientos, siembras o trabajos de siega, compruebe las condiciones meteorológicas en las instalaciones de su cliente. Un simple vistazo a la pestaña Meteorología le permite saber si la semana es favorable, sin salir de Dolibarr.

Transporte y logística

Al preparar una entrega o una recogida, compruebe la velocidad del viento y las condiciones meteorológicas en el destino. Esto permite anticipar retrasos, adaptar las rutas o avisar al cliente con antelación.

Eventos y servicios exteriores

Para empresas de catering, organizadores de eventos o empresas de alquiler, conocer la previsión en la dirección del lugar permite confirmar o ajustar la logística in situ (carpas, calefacción, equipamiento del personal).

Equipos comerciales de campo

Los comerciales en desplazamiento pueden consultar la meteorología de cada etapa antes de salir. Combinado con la gestión de la agenda de Dolibarr, esto permite planificar teniendo en cuenta los riesgos climáticos.

Atención al cliente y servicio posventa

Cuando un cliente informa de un problema (filtración de agua, avería de un equipo, corte eléctrico), visualizar de inmediato la meteorología reciente en su dirección ayuda a evaluar la incidencia y priorizar la intervención.

Instalación

  1. Descargue el módulo desde DoliStore
  2. Descomprima y coloque la carpeta ultimatemeteo/ en htdocs/custom/
  3. Vaya a Inicio → Configuración → Módulos/Aplicaciones
  4. Localice UltimateMeteo en la sección AtooNet
  5. Active el módulo haciendo clic en el botón de la columna Activado
Activación del módulo UltimateMeteo en la sección AtooNet

Configuración

Configuración de permisos

Después de la activación, configure los permisos de acceso por grupo de usuarios en Inicio → Configuración → Usuarios y grupos → Grupos:

Permiso Descripción
Leer los datos meteorológicos Permite ver las pestañas de meteorología en las fichas
Crear / Modificar Permite iniciar una actualización de los datos
Eliminar Permite eliminar registros meteorológicos

Parámetros del módulo

Desde la versión 24.0.1, la pestaña Parámetros de la página de configuración del módulo (Inicio → Configuración → Módulos/Aplicaciones → UltimateMeteo → icono de engranaje) agrupa todos los ajustes. Desde la versión 24.0.2, estos se distribuyen en cinco secciones.

Los valores predeterminados se establecen automáticamente al activar el módulo. Se conservan si el módulo se desactiva y posteriormente se vuelve a activar.

Objetos afectados
Parámetro Valores Predeterminado Descripción
Objetos en los que mostrar la meteorología Tercero, Contacto, Miembro (selección múltiple) Los tres Determina las fichas de Dolibarr que reciben la pestaña Meteorología y, cuando corresponda, la línea de resumen en la ficha.

La opción Miembro solo se muestra si el módulo nativo Miembros está activado.

Nota: el cambio se aplica inmediatamente, al recargar la ficha correspondiente. No es necesario desactivar y volver a activar UltimateMeteo. Desmarcar un objeto oculta su pestaña e impide el acceso directo a la página correspondiente, pero no elimina ningún dato ya registrado.

Visualización de la meteorología actual
Parámetro Valores Predeterminado Descripción
Unidad de temperatura Celsius / Fahrenheit Celsius Unidad solicitada a la API Open-Meteo y mostrada en la pestaña Meteorología. El cambio se aplica tanto a la meteorología actual como a la tabla de previsiones.
Unidad de velocidad del viento km/h, m/s, mph, nudos km/h Lo mismo para la velocidad del viento. La unidad nudos resulta útil para las actividades náuticas.
Mostrar la meteorología en la ficha Sí / No Añade una línea de resumen meteorológico directamente en la ficha de los objetos seleccionados anteriormente, además de la pestaña Meteorología. Cada visualización de una ficha activa una llamada a las API externas, dentro de los límites de la caché.
Umbral de alerta de viento 0 a 300 0 Por encima de este valor, la velocidad del viento se resalta en rojo, tanto en la ficha como en la columna Viento máximo de las previsiones. El valor 0 desactiva la alerta.

Importante: el umbral de alerta se expresa en la unidad de viento seleccionada. Si cambia de km/h a mph, recuerde reajustar el umbral: no se realiza ninguna conversión automática.

Previsiones
Parámetro Valores Predeterminado Descripción
Mostrar la tabla de previsiones Sí / No Muestra u oculta la tabla de previsiones debajo de la meteorología actual.
Número de días de previsión 1 a 16 5 Número de días mostrados. Open-Meteo admite hasta 16 días, con una fiabilidad decreciente más allá de una semana.
Columnas adicionales de las previsiones lista de selección múltiple ninguna Columnas opcionales añadidas a las temperaturas mínima y máxima.

Las columnas opcionales disponibles son:

Columna Dato de Open-Meteo Utilidad
Descripción meteorológica weathercode Condición dominante del día, con pictograma
Precipitaciones precipitation_sum Precipitación acumulada del día, en mm
Viento máximo windspeed_10m_max Ráfaga máxima prevista; utiliza el umbral de alerta de viento
Salida / puesta del sol sunrise, sunset Franja horaria disponible para una intervención exterior
Índice UV máximo uv_index_max Exposición solar, útil para la seguridad de los equipos

Estas columnas no generan ninguna llamada adicional: se solicitan dentro de la misma consulta a la API Open-Meteo.

Mapa
Parámetro Valores Predeterminado Descripción
Mostrar el mapa Sí / No Muestra el mapa OpenStreetMap que localiza al tercero. Desactivarlo evita cargar la biblioteca Leaflet desde una CDN externa.
Nivel de zoom del mapa 1 a 19 12 1 corresponde al mundo entero y 19 al nivel de la calle.
Altura del mapa (px) 150 a 1200 500 Altura del bloque del mapa, en píxeles.
Servicios externos y parámetros técnicos
Parámetro Valores Predeterminado Descripción
Duración de la caché (minutos) 1 a 1440 30 Periodo de validez de una medición antes de realizar una nueva llamada a la API. Un valor elevado reduce el número de llamadas a servicios externos.
Tiempo de espera HTTP (segundos) 1 a 60 5 Tiempo máximo de espera durante las llamadas a las API. Un valor demasiado elevado ralentiza la visualización de las fichas si un servicio no está disponible.
Correo electrónico de contacto técnico correo electrónico correo electrónico de la empresa Se envía en la cabecera User-Agent de las llamadas. La política de uso de Nominatim exige que sea posible identificar al operador. Si el campo está vacío, se utiliza el correo electrónico de la empresa configurado en Dolibarr.
URL del servicio de geocodificación url https://nominatim.openstreetmap.org/search Servicio que convierte la ciudad del tercero en coordenadas GPS. Puede apuntar a una instancia Nominatim autoalojada.
URL de la API meteorológica url https://api.open-meteo.com/v1/forecast Servicio que proporciona los datos meteorológicos. Puede apuntar a una instancia Open-Meteo autoalojada.

Nota: si uno de los dos campos de URL se deja vacío, el módulo utiliza automáticamente el servicio público correspondiente.

Caché de datos

Desde la versión 24.0.0, el módulo utiliza una caché inteligente:

  • Los datos meteorológicos se almacenan en la base de datos, en la tabla llx_ultimatemeteo_currentweather
  • Si existe un registro para un tercero desde hace menos tiempo que la duración de la caché configurada (30 minutos de forma predeterminada), los datos se actualizan (UPDATE) en lugar de crear un nuevo registro
  • Si no existe ningún registro reciente, se crea uno nuevo
  • Este mecanismo evita una acumulación excesiva de filas en la base de datos

Zona horaria

Las horas de las previsiones se expresan en la zona horaria del lugar geocodificado (parámetro timezone=auto de la API Open-Meteo). Por tanto, un tercero situado en el extranjero muestra su hora local, y no la del servidor Dolibarr.

Uso

Pestaña Meteorología

El módulo añade una pestaña Meteorología a cada ficha de tercero (clientes, clientes potenciales, proveedores), si el objeto Tercero está marcado en el parámetro Objetos en los que mostrar la meteorología.

Al abrir esta pestaña, Dolibarr:

  1. Recupera la dirección (código postal + ciudad) registrada en la ficha
  2. Geocodifica la dirección mediante la API OpenStreetMap Nominatim para obtener las coordenadas GPS
  3. Consulta la API Open-Meteo para recuperar la meteorología actual y las previsiones
  4. Muestra los resultados con un mapa interactivo
Pestaña Meteorología en una ficha de tercero — meteorología actual, previsiones y mapa

La información mostrada es:

Campo Descripción
Temperatura Temperatura actual, en la unidad configurada (°C o °F)
Velocidad del viento Velocidad del viento, en la unidad configurada (km/h, m/s, mph o nudos). Se resalta en rojo si se supera el umbral de alerta
Descripción meteorológica Condición meteorológica (Cielo despejado, Cubierto, Lluvia, Nieve, Tormenta…)
Fecha Fecha y hora de la última observación

Si la opción Mostrar la meteorología en la ficha está activa, también se añade un resumen en una sola línea (pictograma, condición, temperatura y viento) directamente en la ficha, sin necesidad de abrir la pestaña Meteorología.

Previsión meteorológica de los próximos días

Debajo de los datos actuales, una tabla muestra la previsión para el número de días configurado (5 días de forma predeterminada, hasta 16). Cada línea incluye:

  • La fecha, en la zona horaria del lugar
  • La temperatura mínima (Mín.)
  • La temperatura máxima (Máx.)
  • Las columnas opcionales activadas en la configuración: descripción meteorológica, precipitaciones, viento máximo, salida / puesta del sol, índice UV máximo

Esta tabla puede ocultarse por completo mediante el parámetro Mostrar la tabla de previsiones.

Mapa interactivo

En la parte inferior de la página se muestra un mapa interactivo de OpenStreetMap (mediante Leaflet 1.9.4) con:

  • Un marcador situado en la ciudad del tercero
  • Una ventana emergente que indica el nombre de la localidad
  • Zoom +/− disponible
  • Atribución OpenStreetMap conforme a la política de uso de teselas de OSM

El nivel de zoom inicial y la altura del bloque son configurables, y el mapa puede desactivarse para evitar cualquier carga desde una CDN externa.

Pestaña Contacto

La misma pestaña Meteorología está disponible en las fichas de contactos/direcciones. Funciona de forma idéntica utilizando la dirección del contacto.

Pestaña Meteorología en una ficha de contacto

Pestaña Miembro

Desde la versión 24.0.2, la misma pestaña Meteorología está disponible en las fichas de miembros, con dos condiciones:

  • el módulo nativo Miembros está activado;
  • el objeto Miembro está marcado en el parámetro Objetos en los que mostrar la meteorología.

La geocodificación utiliza el código postal y la ciudad indicados en la ficha del miembro. Un miembro sin ciudad muestra la pestaña, pero no se puede calcular ningún dato meteorológico.

Las mediciones se guardan en la tabla llx_ultimatemeteo_currentweather con la columna fk_member. Si el miembro está vinculado a un tercero, también se rellena la columna fk_soc; de lo contrario, permanece vacía.

Nota: la columna fk_member se añade automáticamente al actualizar el módulo. En una instalación existente, desactive y vuelva a activar UltimateMeteo una vez para que se aplique el cambio de estructura. La operación no es destructiva: se conservan los registros existentes.

Condiciones meteorológicas compatibles

El módulo utiliza los códigos WMO estándar y los traduce automáticamente a 5 idiomas (FR, EN, DE, ES, IT):

Código WMO Descripción
0 Cielo despejado
1 Principalmente despejado
2 Parcialmente nuboso
3 Cubierto
45 / 48 Niebla / Niebla engelante
51 / 53 / 55 Llovizna ligera / moderada / intensa
61 / 63 / 65 Lluvia ligera / moderada / intensa
71 / 73 / 75 Nieve ligera / moderada / intensa
77 Granos de nieve
80 / 81 / 82 Chubascos débiles / moderados / violentos
85 / 86 Chubascos de nieve débiles / fuertes
95 Tormenta
96 / 99 Tormenta con granizo ligero / fuerte

API utilizadas

El módulo se basa en API totalmente gratuitas, sin registro ni clave API:

API Función URL
Open-Meteo Meteorología actual y previsiones https://api.open-meteo.com
OpenStreetMap Nominatim Geocodificación de dirección → coordenadas GPS https://nominatim.openstreetmap.org
Leaflet 1.9.4 Biblioteca de mapas interactivos https://leafletjs.com
OpenStreetMap Tiles Teselas cartográficas https://tile.openstreetmap.org

Novedades de la versión 24.0.2

Mejoras

  • Pestaña Meteorología en los miembros : nueva página currentweather_member.php que muestra la meteorología actual, las previsiones y el mapa en la dirección del miembro. Solo está disponible si el módulo nativo Miembros está activado
  • Objetos afectados configurables : un nuevo parámetro Objetos en los que mostrar la meteorología permite elegir las fichas que reciben la pestaña Meteorología (Tercero, Contacto, Miembro). El cambio se aplica inmediatamente, sin reactivar el módulo
  • Resumen generalizado en la ficha : la línea de resumen meteorológico, hasta ahora reservada a los terceros, también se muestra en las fichas de contacto y miembro seleccionadas
  • Caché respetada en las tres pestañas : las pestañas de tercero, contacto y miembro actualizan el registro existente mientras este sea más reciente que la duración de caché configurada, en lugar de crear una fila en cada visualización

Correcciones

  • Caché realmente efectiva : la antigüedad de un registro se comparaba usando la columna tms, un TIMESTAMP de MySQL devuelto en UTC, mientras que Dolibarr escribe las fechas en la zona horaria del servidor. La diferencia de zona horaria invalidaba sistemáticamente la caché y provocaba una llamada a las API externas y una nueva fila en cada visualización. La comparación se realiza ahora sobre date_weather
  • Avisos PHP eliminados : cuando faltaba la ciudad o fallaba la geocodificación, las pestañas mostraban mensajes « Undefined variable ». Las variables meteorológicas se inicializan ahora antes de la visualización
  • Columna Miembro oculta : el campo fk_member ya no aparece en la tabla de las pestañas de tercero y contacto

Base de datos

  • Nueva columna fk_member en llx_ultimatemeteo_currentweather, añadida automáticamente al cargar el módulo. La operación no es destructiva

Novedades de la versión 24.0.1

Mejoras

  • Pestaña Parámetros : 14 parámetros de configuración sustituyen los valores codificados de forma fija (unidades, previsiones, mapa, servicios externos, caché, tiempo de espera HTTP)
  • Unidades configurables : temperatura en °C o °F, viento en km/h, m/s, mph o nudos, enviados directamente a la API Open-Meteo
  • Alerta de viento : umbral configurable a partir del cual la velocidad del viento se resalta en rojo
  • Previsiones configurables : número de días (1 a 16) y columnas opcionales (descripción, precipitaciones, viento máximo, salida / puesta del sol, índice UV)
  • Mapa configurable : zoom inicial, altura del bloque y posibilidad de desactivar por completo la carga desde la CDN externa
  • Servicios autoalojables : las URL de Nominatim y Open-Meteo pueden configurarse para apuntar a sus propias instancias
  • Correo electrónico de contacto técnico : enviado en la cabecera User-Agent, conforme a la política de uso de Nominatim
  • Traducciones completas : los 5 idiomas (fr, en, de, es, it) cubren ahora todas las etiquetas y ayudas emergentes de la configuración

Correcciones

  • Hook de terceros reparado : la clase hook se trasladó de core/hooks/ a class/actions_ultimatemeteo.class.php, la única ubicación analizada por el HookManager de Dolibarr. Por tanto, el resumen meteorológico de la ficha del tercero nunca se mostraba
  • Valores predeterminados : ahora se establecen al activar el módulo mediante $this->const, conforme a las prácticas del module builder
  • Geocodificación más precisa : la búsqueda utiliza el código postal y la ciudad en lugar de utilizar únicamente la ciudad
  • Unidades en las etiquetas : las menciones « (°C) » y « (km/h) » codificadas de forma fija se eliminaron de las traducciones, ya que la unidad realmente configurada se muestra junto al valor

Novedades de la versión 24.0.0

Correcciones

  • Error 403r en los mapas OpenStreetMap : se añadieron referrerPolicy y la atribución conforme a la política de teselas OSM 2026
  • Leaflet fijado en la versión 1.9.4 con comprobación de integridad SRI (en lugar de una URL CDN sin versión)
  • Llamadas API protegidas : sustitución de file_get_contents por cURL con un User-Agent conforme en el hook de terceros
  • Caché de datos : mecanismo UPDATE/INSERT con caché de 30 minutos (elimina el INSERT sistemático en cada visualización)
  • Zona horaria dinámica : uso de la configuración de Dolibarr en lugar de una zona Europe/Paris codificada de forma fija

Mejoras

  • Códigos meteorológicos completos : incorporación de los códigos WMO 71-99 (nieve, chubascos, tormentas, granizo) en los 5 archivos de idioma
  • Internacionalización : las descripciones meteorológicas utilizan ahora el sistema de traducción de Dolibarr ($langs->trans())
  • Enlaces de ayuda wiki : incorporación de enlaces contextuales a la documentación wiki en todas las páginas del módulo
  • Compatibilidad con Dolibarr v24 : actualización de los patrones para respetar las convenciones de la versión 24

Preguntas frecuentes

La meteorología no se muestra

Compruebe que la ficha del tercero, contacto o miembro contiene un código postal y una ciudad. La geocodificación necesita como mínimo una ciudad.

La pestaña Meteorología no aparece en una ficha

Abra la pestaña Parámetros del módulo y compruebe que el objeto correspondiente está marcado en Objetos en los que mostrar la meteorología. Para los miembros, compruebe también que el módulo nativo Miembros está activado: de lo contrario, la opción ni siquiera se muestra.

He actualizado el módulo, pero la pestaña de miembro devuelve un error SQL

La columna fk_member todavía no se ha creado. Desactive y vuelva a activar UltimateMeteo una vez: Dolibarr volverá a ejecutar los scripts SQL del módulo y añadirá la columna. La operación no es destructiva.

El mapa muestra "Access blocked" o "403r"

Este problema se corrigió en la versión 24.0.0. OpenStreetMap reforzó su política de Referer a principios de 2026. La actualización incluye:

  • La incorporación de referrerPolicy: "strict-origin-when-cross-origin" en la configuración de Leaflet
  • La atribución obligatoria © OpenStreetMap contributors
  • La fijación de Leaflet a una versión estable (1.9.4)

Si sigue viendo este error, compruebe que está utilizando la versión 24.0.0 del módulo.

¿Los datos meteorológicos se actualizan automáticamente?

Los datos se recuperan cada vez que se abre la pestaña Meteorología. Una caché evita las llamadas repetitivas a la API: si la última medición es más reciente que la duración de la caché configurada (30 minutos de forma predeterminada), simplemente se actualiza en la base de datos en lugar de crear un nuevo registro. Esta duración se configura en la pestaña Parámetros del módulo.

¿Cómo mostrar las temperaturas en Fahrenheit?

En la pestaña Parámetros del módulo, seleccione Fahrenheit (°F) como unidad de temperatura. La unidad se envía directamente a la API Open-Meteo: por tanto, la conversión se realiza en origen y la unidad elegida se muestra junto a cada valor.

¿El umbral de alerta de viento se convierte automáticamente?

No. El umbral se expresa en la unidad de viento seleccionada. Si cambia de km/h a mph, recuerde reajustar el valor del umbral en consecuencia.

¿El módulo funciona sin conexión?

No. El módulo necesita acceso a Internet para consultar las API Open-Meteo y Nominatim.

No obstante, es posible utilizarlo dentro de una red interna indicando, en la pestaña Parámetros, las URL de instancias autoalojadas de Nominatim y Open-Meteo, y desactivando el mapa para evitar cargar Leaflet desde una CDN externa.

¿Qué idiomas son compatibles?

El módulo está disponible en: Francés, Inglés, Alemán, Español, Italiano.

¿Cómo acceder a la ayuda en línea?

Cada página del módulo dispone de un enlace de ayuda contextual (icono ? en la parte superior derecha) que dirige a la sección correspondiente de esta página wiki.

Véase también

Otros idiomas