Autor Tema: Envío de datos con Windows 10 y Windows 11  (Leído 1931 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jantoni

  • Administrator
  • Hero Member
  • ******
  • Mensajes: 5.684
    • meteorivas.es
  • Estación: ESMAD2800000028522A
Envío de datos con Windows 10 y Windows 11
« en: 07 de Mayo de 2025, 12:51:34 »
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:

Código: [Seleccionar]
@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í

Código: [Seleccionar]
set apikey=elapikeydetuestacioncompletoconguionesincluidos
Una vez lo ejecutemos, se repetirá el envío cada 5 minutos.
« Última modificación: 18 de Agosto de 2025, 14:18:12 por jantoni »

Desconectado jantoni

  • Administrator
  • Hero Member
  • ******
  • Mensajes: 5.684
    • meteorivas.es
  • Estación: ESMAD2800000028522A
Re:Envío de datos con Windows
« Respuesta #1 en: 18 de Agosto de 2025, 13:53:19 »
Al haberse modificado sustancialmente el script, todos los mensajes de este hilo se han borrado.

Saludos

Desconectado jantoni

  • Administrator
  • Hero Member
  • ******
  • Mensajes: 5.684
    • meteorivas.es
  • Estación: ESMAD2800000028522A
Re:Envío de datos con Windows
« Respuesta #2 en: 18 de Agosto de 2025, 13:56:27 »
Ah.....si modificáis el script y cambíais

Código: [Seleccionar]
set url=https://api.m11c.net/v2/rainbow/weather.txt
por

Código: [Seleccionar]
set url=https://api.m11c.net/v2/rainbow/weather.json

Recibiréis la respuesta en formato json

y por

Código: [Seleccionar]
set url=https://api.m11c.net/v2/rainbow/weather.xml

Recibiréis la respuesta en formato XML....por si queréis trastear.

« Última modificación: 18 de Agosto de 2025, 17:42:31 por jantoni »

Desconectado jantoni

  • Administrator
  • Hero Member
  • ******
  • Mensajes: 5.684
    • meteorivas.es
  • Estación: ESMAD2800000028522A
Re:Envío de datos con Windows 10 y Windows 11
« Respuesta #3 en: 18 de Agosto de 2025, 17:43:26 »
Como este script es muy sencillo, se agradece que si lo modificas a mejor, lo compartas con todos nosotros.

Aquí, en Meteoclimatic, hay mucho talento.....vamos a aprovecharlo.

Saludos