Autor Tema: Trama MQTT en formato json para mandar datos de la estación a CumulusMX v.4.3.3  (Leído 141 veces)

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

Desconectado Santi

  • Newbie
  • *
  • Mensajes: 2
  • Estación: ESP32 y Node-RED
Hola. Soy Santi, de Golmayo, Soria. Estoy empezando con esto de la meteorología y quiero poner en marcha el programa CumulusMX v. 4.3.3. Ahora las pruebas las hago en un pc con Windows 11 (para CumulusMX) pero cuando consiga que funcione dejaré todo andando en dos ordenadores, un pc con Windows 10 y una Raspberry Pi 4b.
Los datos los cojo de una estación meteorológica autoconstruida con un ESP32 con detectores de distintos tipos (todos funcionando a la vez para poder compararlos y tener más datos de dónde sacar), como son DHT22, AHT11, BME280, DS18B20, un pluviómetro de medio milímetro por pulso y un anemómetro/veleta que manda los datos por puerto serie. Estos dos últimos aparatos son recuperados de estaciones meteorológicas viejas.

Todos los datos que envía la estación van, vía MQTT, a la aplicación Node-RED que tengo funcionando en una Raspberry, allí se genera una trama que es enviada al sistema de APRS y que se puede ver en aprs.fi y otras páginas web.

Como CumulusMX admite los datos meteorológicos en formato json se me ha ocurrido generar la trama de datos en Node-RED y enviársela utilizando MQTT. Esta trama la generaré a partir de los datos que vienen de mi estación meteorológica. En Node-RED es relativamente sencillo hacer esto.

He configurado CumulusMX para que reciba los datos en éste formato entrando a Settings / Station Settings / General Setings / Manufacturer, aquí he puesto JSON Data Input. También he configurado el resto de los campos. Después he empezado a mandarle datos con ayuda del programa MQTT Explorer y después de unos cuantos intentos fallidos he conseguido que los datos lleguen al programa.

Por lo visto es difícil generar la cadena de datos correcta porque sólo me reconoce algunos. Por ejemplo, en ésta cadena reconoce la presión, temperatura y humedad pero no la lluvia:
{
    "units": {
        "temperature": "C",
        "windspeed": "ms",
        "rainfall": "mm",
        "pressure": "hPa"
    },
    "wind": {
        "gust10m": 1.5,
        "speed": 1.4,
        "direction": 95
    },
    "pressure": {
      "absolute": 898.1
    },
     "temperature": {
        "outdoor": 4.62
    },
    "humidity": {
        "outdoor": 98
    },
    "rain": {
        "counter": 1.5,
        "rate": 0.5
    }
}

En las pruebas que estoy haciendo voy cambiando los textos y los números y sale algo pero con mucha dificultad.
Busco en la documentación de CumulusMX pero no encuentro el formato exacto que tiene que tener ésta cadena.
¿Alguno de vosotros tiene esos datos? ¿Existe alguna página donde aparezca esto?
Sería muy de agradecer cualquier información.

Muchas gracias. Un saludo de Santi desde Golmayo, Soria.

Desconectado ipe

  • Jr. Member
  • **
  • Mensajes: 51
    • Meteo San Antón
  • Estación: ESAND2900000029018A
No se si es esta plantilla. Por lo visto viene con la distribución (adjunto)

También he visto esto
https://community.home-assistant.io/t/template-variable-error-value-json-is-undefined-mqtt/388902/10
« Última modificación: 05 de Marzo de 2025, 15:48:44 por ipe »

Desconectado Santi

  • Newbie
  • *
  • Mensajes: 2
  • Estación: ESP32 y Node-RED
Gracias ipe por la respuesta.
El fichero al que haces referencia parece ser un listado de etiquetas para la página web que genera CumuluMX y no la trama de datos json para el programa. La trama tiene que tener el aspecto que publiqué en el primer mensaje, aun que no esté en líneas separadas sino en una línea todo seguido.
También me he dado cuenta de que los ficheros "IntervalTemplate.txt" y otro que hay en la carpeta "mqtt" no influyen en el resultado, o sea, que tengan lo que tengan en su interior la trama siempre tiene el mismo comportamiento; lo que funcionaba antes de modificar estos ficheros sigue funcionando igual después de modificarlos.

Otra cosa: si añado la fecha en formato unix (con éste formato: 1741544457) alguna cosa cambia, o se muestra en el panel de control de CumulusMX. Bueno, esto no viene al caso pero bueno...un detalle.

Seguro que esto está explicado en las instrucciones pero no lo encuentro.
Muchas gracias por la atención. Seguiré buscando y cuando lo encuentre lo pondré aquí.

Un saludo de Santi.