Mensajes recientes

Páginas: 1 2 3 [4] 5 6 ... 10
31
Envío de datos a Meteoclimatic / Re:Envío de datos con Windows 10 y Windows 11
« Último mensaje por jezuleon en 21 de Septiembre de 2025, 23:29:57 »
Pues ni idea, yo estoy usando el script este:

@echo off
rem #########################################################
REM ## CONFIGURA TU APIKEY AQUÍ ##
REM #########################################################
set apikey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

rem #########################################################
REM ########   NO MODIFICAR NADA A PARTIR DE AQUI   #########
rem #########################################################

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.html"

rem Define el archivo de log
set "logfile=%script_dir%envios.log"

:loop
rem Comprueba si el archivo meteoclimatic.htm existe
if not exist "%datafile%" (
    echo [%date% %time%] El archivo meteoclimatic.html no existe en "%script_dir%". >> "%logfile%"
    echo El archivo meteoclimatic.html no existe en "%script_dir%".
    goto wait
)

rem Lee el archivo meteoclimatic.html 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.
    goto wait
)

rem Define la URL de envio
set "url=https://api.m11c.net/v2/rainbow/weather.txt"
set "resposta=%script_dir%resposta.txt"

rem Intentos de envio
set retries=0
:setcurl
curl --data-urlencode "stationCode=%stationCode%" --data-urlencode "rawData2@%datafile%" -H "APIkey: %apikey%" -X POST -k -o "%resposta%" "%url%"
set err=%errorlevel%

rem Analiza la respuesta del servidor
set "status="
for /f "tokens=2 delims=:" %%S in ('findstr /i "status" "%resposta%"') do set status=%%S

if %err% neq 0 (
    echo [%date% %time%] ERROR: Fallo en la ejecucion de la solicitud. Codigo: %err% >> "%logfile%"
    echo Fallo en la ejecucion de la solicitud. Reintentando en 30 segundos...
    set /a retries+=1
    if %retries% leq 2 (
        timeout /t 30 /nobreak >nul
        goto setcurl
    )
    goto wait
)

if /i "%status: =%"=="fail" (
    echo [%date% %time%] ERROR en envio: >> "%logfile%"
    type "%resposta%" >> "%logfile%"
    set /a retries+=1
    if %retries% leq 2 (
        echo Reintentando en 30 segundos...
        timeout /t 30 /nobreak >nul
        goto setcurl
    )
    goto wait
)

rem Si todo correcto, muestra respuesta
echo ===============================
echo Respuesta del servidor:
type "%resposta%"
echo ===============================

:wait
rem Espera 5 minutos antes del siguiente envio
timeout /t 300 /nobreak >nul
goto loop


y a mí me funciona perfectamente, y cuando no envía, hace los reintentos para volver a conectar e intentar enviar el archivo de nuevo. Fíjate bien en el script si el archivo que te crea weather link es meteoclimatic.html que en el script es el que va a buscar, aunque creo que es ese el que veo
32
Envío de datos a Meteoclimatic / Re:Envío de datos con Windows 10 y Windows 11
« Último mensaje por arenado en 21 de Septiembre de 2025, 20:34:24 »
Hola, gracias por vuestras respuestas, pero no funciona de ninguna manera, el escript esta en el mismo directorio y no lo encuentra, y también he probado lo de cambiar el nombre de la carpeta Semple Templates, y sigue sin funcionar.
adjunto otra captura de pantalla
33
Envío de datos a Meteoclimatic / Re:Envío de datos con Windows 10 y Windows 11
« Último mensaje por jantoni en 19 de Septiembre de 2025, 00:10:03 »
Aparte de lo que dice jezuleon, mi experiencia es probando el script tal cual.

El script está diseñado para ser ejecutado en el mismo directorio donde se encuentra el archivo, aunque también admite el establecer el directorio.

Yo es que me inclino siempre por lo sencillo *+* *+* *+* *+* es decir, no tocar el script salvo el apikey y ejecutar el script desde el directorio donde se encuentre meteoclimatic.htm

Luego ya, cada uno puede hacer sus experimentos.
34
Envío de datos a Meteoclimatic / Re:Envío de datos con Windows 10 y Windows 11
« Último mensaje por jezuleon en 18 de Septiembre de 2025, 23:53:14 »
Quizás es una tontería lo que voy a decir, pero el archivo que tienes ahí, como no se le ven las extensiones a ninguno, lo mismo es un archivo meteoclimatic.htm en vez de meteoclimatic.html y por eso no lo reconoce, pon para que se vean las extensiones de los archivos y así sales de dudas, y también recuerdo cuando estaba haciendo script con geminis, había veces que me daban error las carpetas, y eran porque los nombres eran compuestos y no seguidos, prueba a unir el nombre de la carpeta en una sola palabra, o ponle el _ guion bajo. Yo no entiendo mucho de estas cosas, pero he solucionada muchas probando cosas, que pueden incluso resultar absurdas, por probar que no quede.
35
Envío de datos a Meteoclimatic / Re:Envío de datos con Windows 10 y Windows 11
« Último mensaje por arenado en 18 de Septiembre de 2025, 20:55:50 »
Hola.
Hace tiempo que estoy intentando subir datos con mi nuevo ordenador que tiene el sistema operativo Windows 11.
he probado un montón de cosas y no hay manera, lo mas cerca que he conseguido para hacer los envíos, es crear los archivos y de hay no paso.
la aplicación me responde que no existe el archivo, pero si que esta,
Adjunto pantallas

Alguien me puede ayudar???
gracias
   
36
Envío de datos a Meteoclimatic / Re:REINICIO DE PRECIPITACIÓN
« Último mensaje por jantoni en 28 de Agosto de 2025, 11:59:59 »
No entiendo por qué se desconecta puntualmente. ¿Existe manera de recibir incidencias en la estación?

Pues quizás leyendo el foro tendría respuestas

https://forum.meteoclimatic.net/index.php/topic,6058.0.html

Su consola lleva más de 2 años sin actualizar

Citar
Aug 28 09:47:45 /var/www/api.m11c.net/lib/inc_updateDB.php:371: debug-- REQUEST QUERY = /v2/ew/ESARA5000000050800A/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Query: Array
(
    [PASSKEY] => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    [stationtype] => EasyWeatherPro_V5.0.9
    [runtime] => 1
    [dateutc] => 2025-08-28 09:47:44
    [tempinf] => 82.0

Tiene la versión 5.0.9 y van por la 5.2.2

Desde Mayo de 2025 con la versión 5.2.0 está solucionado, teóricamente, ese problema. Problema que no es de Meteoclimatic, sino de la consola.

En cuanto a la precipitación, no acabo de entender. El sensor está activo desde Abril, por lo que no entiendo el motivo de solicitar otra vez la reactivación.

Saludos.
37
Envío de datos a Meteoclimatic / REINICIO DE PRECIPITACIÓN
« Último mensaje por zufariense en 28 de Agosto de 2025, 11:19:24 »
Buenos días,ya he reseteado la precipitación anual para que se vuelva a activar el sensor de la estación:

ESARA5000000050800A - Zuera. Colegio el Pilar

No entiendo por qué se desconecta puntualmente. ¿Existe manera de recibir incidencias en la estación?

Solicito vuelvan a actualizar sensor lluvia

Un saludo y gracias.
38
Envío de datos a Meteoclimatic / Re:CURIOSIDAD TIEMPO DE ESPERA EXCEDIDO SIEMPRE A LA MISMA HORA
« Último mensaje por jantoni en 21 de Agosto de 2025, 19:22:17 »
Que no le des más vueltas...... *+* *+* *+*

Seguro que a esa hora el servidor que sea (en Meteoclimatic creo que usan 4 servidores interconexionados, y cada uno hace una cosa), está petado de curro y pasa algo extraño.

Y ahora mismo, que el máster está mirando de lanzar Alba cuanto antes, no se va a dedicar a ello.....otra cosa es que fuera algo reiterativo y que afectara a los datos.

Yo también tengo "pérdidas" a esa hora *+* *+* *+* (aparte de los de la edad, ja ja ), pero no es preocupante. Seguro al 99,999999% que es alguno de los servidores.

Incluso algunos de los mensajes de error que te dan, no son tales, son warning y ahí sí se procesan los datos.

Entiende que Meteoclimatic es un código muy antiguo y muy parcheado con el tiempo.....por eso le urge lanzar Alba cuanto antes.....pero solo es uno frente al enemigo *-* *-* *-*
39
Envío de datos a Meteoclimatic / Re:CURIOSIDAD TIEMPO DE ESPERA EXCEDIDO SIEMPRE A LA MISMA HORA
« Último mensaje por jezuleon en 21 de Agosto de 2025, 19:02:30 »
Le he pasado a chatgpt, el error que da a las 5 a.m. y la respuesta que me ha dado ha sido la siguiente:

Lo que pasa es:

A veces el servidor no reconoce bien el identificador de la estación o la firma (*SIG=... o *COD=...), y te devuelve 401 Unauthorized.

Otras veces sí lo acepta y te responde 202 Accepted.

El warning "Undefined array key 'uin'" indica que al servidor le está llegando la petición sin un parámetro que espera (probablemente el User Identification Number (UIN) o similar en la cabecera/JSON).

👉 Conclusión:
No es un fallo en tu script, sino intermitente en el servidor de Meteoclimatic, que unas veces interpreta bien los datos y otras no.



A ver si algún que entiendo de esto, sabe a qué puede deberse eso, si es que es eso, a las 5 a.m. en horario de verano, y a las 4 a.m. en horario de invierno
40
Envío de datos a Meteoclimatic / Re:Envío de datos con Windows 10 y Windows 11
« Último mensaje por jezuleon en 21 de Agosto de 2025, 18:58:32 »
Bueno, pues hoy he mirado si ha habido error a las 5 a.m. y efectivamente lo ha habido, pero el log no lo ha recogido, y le he preguntado a chatgpt que por qué, y me dice que el error que recogía el bat, era por desconexión, y después caí en la cuenta que a las IA hay que ponerles las peticiones y preguntas muy mascaditas, para que no haya lugar a dudas o interpretación, pues nada, se lo he vuelto a explicar, con mucha paciencia, y me ha creado otro script, que se supone que hace eso, ya veremos mañana cuando lo mire si el error sigue, que seguramente seguirá. También le pregunté a que era debido el error, le pasé el error y la respuesta que me dio fue esta:

Lo que pasa es:

A veces el servidor no reconoce bien el identificador de la estación o la firma (*SIG=... o *COD=...), y te devuelve 401 Unauthorized.

Otras veces sí lo acepta y te responde 202 Accepted.

El warning "Undefined array key 'uin'" indica que al servidor le está llegando la petición sin un parámetro que espera (probablemente el User Identification Number (UIN) o similar en la cabecera/JSON).

👉 Conclusión:
No es un fallo en tu script, sino intermitente en el servidor de Meteoclimatic, que unas veces interpreta bien los datos y otras no.


Vuelvo a pasar el script de meteoclimatic.bat con la corrección para que todos los errores que salgan en los envíos por el motivo que sea, sean incluidos en el log de errores, id comprobándolo ustedes, si te coge despierto a las 5 a.m. jajaja, lo puedes mirar, yo no lo miraré hasta mañana por la mañana, le ha puesto 3 reintentos de envío, a 30 segundos por si falla alguno, si no lo logra, ya espera al siguiente que sería a los 5 minutos:

@echo off
rem #########################################################
REM ## CONFIGURA TU APIKEY AQUÍ ##
REM #########################################################
set apikey=xxxxxxxxxxxxxxxxxxxxxxxx

rem #########################################################
REM ########   NO MODIFICAR NADA A PARTIR DE AQUI   #########
rem #########################################################

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.html"

rem Define el archivo de log
set "logfile=%script_dir%envios.log"

:loop
rem Comprueba si el archivo meteoclimatic.htm existe
if not exist "%datafile%" (
    echo [%date% %time%] El archivo meteoclimatic.html no existe en "%script_dir%". >> "%logfile%"
    echo El archivo meteoclimatic.html no existe en "%script_dir%".
    goto wait
)

rem Lee el archivo meteoclimatic.html 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.
    goto wait
)

rem Define la URL de envio
set "url=https://api.m11c.net/v2/rainbow/weather.txt"
set "resposta=%script_dir%resposta.txt"

rem Intentos de envio
set retries=0
:setcurl
curl --data-urlencode "stationCode=%stationCode%" --data-urlencode "rawData2@%datafile%" -H "APIkey: %apikey%" -X POST -k -o "%resposta%" "%url%"
set err=%errorlevel%

rem Analiza la respuesta del servidor
set "status="
for /f "tokens=2 delims=:" %%S in ('findstr /i "status" "%resposta%"') do set status=%%S

if %err% neq 0 (
    echo [%date% %time%] ERROR: Fallo en la ejecucion de la solicitud. Codigo: %err% >> "%logfile%"
    echo Fallo en la ejecucion de la solicitud. Reintentando en 30 segundos...
    set /a retries+=1
    if %retries% leq 2 (
        timeout /t 30 /nobreak >nul
        goto setcurl
    )
    goto wait
)

if /i "%status: =%"=="fail" (
    echo [%date% %time%] ERROR en envio: >> "%logfile%"
    type "%resposta%" >> "%logfile%"
    set /a retries+=1
    if %retries% leq 2 (
        echo Reintentando en 30 segundos...
        timeout /t 30 /nobreak >nul
        goto setcurl
    )
    goto wait
)

rem Si todo correcto, muestra respuesta
echo ===============================
echo Respuesta del servidor:
type "%resposta%"
echo ===============================

:wait
rem Espera 5 minutos antes del siguiente envio
timeout /t 300 /nobreak >nul
goto loop
Páginas: 1 2 3 [4] 5 6 ... 10