Para aquellos que tengáis problemas con Visual Star, os dejo un script en format .bat para que podáis enviar los datos a Meteoclimatic.
El script no es mío, pero es muy sencillo...
Solo hay que modificar el fichero poniendo el api key y la ruta donde se encuentra el fichero con los datos creado por Weatherlink, Cumulus o el programa que sea.
Y luego ejecutarlo. Teóricamente se ejecutará cada 5 minutos hasta que el usuario lo pare.
Solo Windows 10 y Windows 11. Para versiones anteriores hay que hacer apaños y no se dará soporte para versiones anteriores de Windows(tendréis que apañaros con Google y las IA para instalar CURL que es el único requisito de este script)
Podéis descargaros el archivo meteoclimatic.bat o copiarlo desde el código que se adjunta:
@echo off
rem El script está preparado para buscar el fichero meteoclimatic.htm en el directorio donde se encuentre ubicado el Script.
rem #########################################################
REM ## SOLO TIENES QUE CONFIGURAR LA APIKEY DE TU ESTACIÓN ##
REM ## ESCRÍBELA SIN COMILLAS A PARTIR DEL SIGNO IGUAL ## ##
REM #########################################################
set apikey=
rem #########################################################
rem ######## NO MODIFICAR NADA A PARTIR DE AQUI #########
rem #########################################################
setlocal
:loop
rem Obtiene la ruta del directorio actual del script
for %%I in (%0) do set "script_dir=%%~dpI"
rem Define la ruta del archivo meteoclimatic.htm
set "datafile=%script_dir%meteoclimatic.htm"
rem Define el archivo de log
set "logfile=%script_dir%envios.log"
rem Comprueba si el archivo meteoclimatic.htm existe
if not exist "%datafile%" (
echo [%date% %time%] El archivo meteoclimatic.htm no existe en "%script_dir%". >> "%logfile%"
echo El archivo meteoclimatic.htm no existe en "%script_dir%".
exit /b 1
)
rem Lee el archivo meteoclimatic.htm y extrae el codigo de la estacion
for /F "tokens=2 delims==" %%A in ('type "%datafile%" ^| findstr /C:"*COD="') do set "stationCode=%%A"
rem Comprueba si se ha encontrado el codigo de la estacion
if "%stationCode%"=="" (
echo [%date% %time%] No se ha encontrado el codigo de la estacion en el archivo. >> "%logfile%"
echo No se ha encontrado el codigo de la estacion en el archivo.
exit /b 1
)
rem Define las variables para la comando curl
set url=https://api.m11c.net/v2/rainbow/weather.txt
set resposta=%script_dir%resposta.txt
rem Envía la solicitud con cURL
curl --data-urlencode "stationCode=%stationCode%" --data-urlencode "rawData2@%datafile%" -H "APIkey: %apikey%" -X POST -k -o "%resposta%" "%url%"
rem Comprueba si la ejecucion fue correcta
if %errorlevel% neq 0 (
echo [%date% %time%] Error en la ejecucion de la solicitud. >> "%logfile%"
echo Error en la ejecucion de la solicitud.
exit /b 1
)
rem Mostrar resultado en pantalla
echo ===============================
echo Respuesta del servidor:
type "%resposta%"
echo ===============================
rem Espera 5 minutos antes de repetir el bucle
ping -n 301 127.0.0.1 >nul
goto :loop
endlocal
El script busca el fichero meteoclimatic htm en el directorio desde donde se ejecute meteoclimatic.bat
Si quieres cambiar el nombre del fichero, puedes editar por tu cuenta el script.
El unico parámetro a configurar es el API-KEY de tu estación. Debes escribirlo tal cual lo ves en la ficha de la estación, sin comillas de ningun tipo y a partir del signo igual
Es decir algo así
set apikey=elapikeydetuestacioncompletoconguionesincluidos
Una vez lo ejecutemos, se repetirá el envío cada 5 minutos.