Autor Tema: MQTT en Cumulus MX  (Leído 1133 veces)

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

Desconectado errea

  • Full Member
  • ***
  • Mensajes: 106
    • Ver Perfil
    • Banaries - Huesca
  • Estación: ESARA2200000022194A - Huesca - Banariés
MQTT en Cumulus MX
« en: 13 de Octubre del 2020, 22:40:58 pm »
Tenía bastante pereza, pero me he puesto con el tema, primero he actualizado a la última versión de CumulusMX y aunque ya estaba implementado en la que tenía, he querido hacer funcionar lo del MQTT, pero estoy más perdido que el caballo del malo.

¿Alguna pista?

Desconectado Ubik

  • Administrator
  • Hero Member
  • ******
  • Mensajes: 1.707
    • Ver Perfil
  • Estación: Villavieja de Yeltes ESCYL3700000037260A
Re:MQTT en Cumulus MX
« Respuesta #1 en: 13 de Octubre del 2020, 23:43:48 pm »
A mí me pillas también fuera de juego, esta es una opción que acaba de salir, con la versión 3.9.0 de 9 de octubre, vamos, hace 4 días, y es literal. 4 días. De momento no he actualizado y por lo tanto no he podido probar tampoco nada.
                         
Davis pro2+cumulus+W7+Lenovo
 
Web http://www.meteovillavieja.es

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 3.606
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:MQTT en Cumulus MX
« Respuesta #2 en: 14 de Octubre del 2020, 08:47:28 am »
A mí también me suena que está implementado desde hace unos meses, de hecho en su historial de versiones la primera implantación fue el 9 de abril en la build 3071

La verdad es que es algo que tampoco he explorado...


Archena, Valle de Ricote (Murcia). 120 msnm. 19.428 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado errea

  • Full Member
  • ***
  • Mensajes: 106
    • Ver Perfil
    • Banaries - Huesca
  • Estación: ESARA2200000022194A - Huesca - Banariés
Re:MQTT en Cumulus MX
« Respuesta #3 en: 14 de Octubre del 2020, 08:53:45 am »
Bueno es algo anterior, salió el 9 de abril en la Version 3.5.0 - Build 3071.

Yo el tema lo tenía aparcado, pero como estoy ahora inmerso en poner energia fotovoltaica,  esta opción me vendría bien desarrollarla con un servidor Home Assistant para reaccionar según la temperatura exterior, hablando de calefacción claro está.

La única mini-explicación que he encontrado:

"MQTT
Cumulus now has the ability to upload data to MQTT brokers. The configuration for this is found in Settings|InternetSettings|MQTT.
There you configure the server name (and port), username and password - currently CMX does not support advanced authentication options.
There are two upload options...
Send message on data update - This will send a message every time data is received from your station - useful if you need real-time data e.g. wind speed/direction.
Note the interval depends on your station, it could be as short as every 2.5 seconds for Davis stations, or even sub 1 second for Instromet!
Send messages at fixed intervals - As it says, specify an interval in seconds to perform the uploads. It defaults to 600 secs = 10 minutes.

Both these options allow you to specify the MQTT topic name, and the name of template file to be used to construct the messages.

The default template files are called mqtt/MQTT
Cumulus now has the ability to upload data to MQTT brokers. The configuration for this is found in Settings|InternetSettings|MQTT.
There you configure the server name (and port), username and password - currently CMX does not support advanced authentication options.
There are two upload options...
Send message on data update - This will send a message every time data is received from your station - useful if you need real-time data e.g. wind speed/direction.
Note the interval depends on your station, it could be as short as every 2.5 seconds for Davis stations, or even sub 1 second for Instromet!
Send messages at fixed intervals - As it says, specify an interval in seconds to perform the uploads. It defaults to 600 secs = 10 minutes.

Both these options allow you to specify the MQTT topic name, and the name of template file to be used to construct the messages.

The default template files are called mqtt/DataUpdateTemplate.txt and mqtt/IntervalTemplate.txt. The templates can be any format you like, and use the normal web tags to substitue data. The supplied demo files contain some simple JSON formatted data to get you started and mqtt/IntervalTemplate.txt. The templates can be any format you like, and use the normal web tags to substitue data. The supplied demo files contain some simple JSON formatted data to get you started"


Dentro de mi limitado inglés, entiendo que probablemente tendremos que procesar los dos ficheros  mqtt/DataUpdateTemplate.txt y mqtt/IntervalTemplate.txt como otros con etiquetas.  Tengo en teoría el servidor MQTT particular puesto, pero no veo que haya mensajes.

A ver si avanzo y os lo comparto.

Desconectado Ubik

  • Administrator
  • Hero Member
  • ******
  • Mensajes: 1.707
    • Ver Perfil
  • Estación: Villavieja de Yeltes ESCYL3700000037260A
Re:MQTT en Cumulus MX
« Respuesta #4 en: 14 de Octubre del 2020, 18:09:30 pm »
Vale, disculpas,  confundí la implementación de unas funciones nuevas en esta última actualización con la inclusión del servicio MQTT en sí.

Creo que Kocher ha estado detrás de este tema, puede que él sepa algo
                         
Davis pro2+cumulus+W7+Lenovo
 
Web http://www.meteovillavieja.es

Desconectado errea

  • Full Member
  • ***
  • Mensajes: 106
    • Ver Perfil
    • Banaries - Huesca
  • Estación: ESARA2200000022194A - Huesca - Banariés
Re:MQTT en Cumulus MX
« Respuesta #5 en: 16 de Octubre del 2020, 21:22:33 pm »
Esperamos pues, yo tengo en teoría un MQTT broker levantado en mi red, CumulusMX autentificado, pero no veo que lea nada... le tengo que dedicar más tiempo.  Quiero tener una lectura de mis datos meteo, para que Home Assistant pueda gobernar la temperatura de la casa con las lecturas de la estación.

Desconectado Ubik

  • Administrator
  • Hero Member
  • ******
  • Mensajes: 1.707
    • Ver Perfil
  • Estación: Villavieja de Yeltes ESCYL3700000037260A
Re:MQTT en Cumulus MX
« Respuesta #6 en: 17 de Octubre del 2020, 11:39:57 am »
En el foro de CumulusMX hay información al respecto, yo lo he pasado un poco por encima, pero ahí hablan del Home Assistant en relación  a MQTT, si te das una vuelta seguro que puede ir aclarando conceptos.
                         
Davis pro2+cumulus+W7+Lenovo
 
Web http://www.meteovillavieja.es

Desconectado kocher

  • Moderador Global
  • Hero Member
  • ******
  • Mensajes: 871
    • Ver Perfil
    • Meteo San Sebastian - Arriola
  • Estación: San Sebastian, Arriola ESEUS2000000020018A
Re:MQTT en Cumulus MX
« Respuesta #7 en: 20 de Octubre del 2020, 19:52:21 pm »
Saludos a todos

Yo me volví loco (un poco más) intentando entender la filosofía de MQTT; aparentemente los principios de funcionamiento son muy sencillos, pero a la hora de la práctica ... je je

Tanto CumulusMX como WeatherDisplay ya incorporan esta funcionalidad y debo decir que ambos funcionan a la perfección.

Una manera de aprovechar MQTT, se puede ver en vivo aquí:

                                          http://kocher.es/weewx/

Los datos se "transmiten" (un dispositivo publica un "tema", un intermediario -brocker- lo recoge y lo pone a disposición del que se haya suscrito) y cualquier otro dispositivo "lee" ese tema (si se ha suscrito)  sin necesidad de utilizar FTP.

Hay que aclarar que la configuración es diferente si se trata de enviar los datos a nuestra propia red interna o a una dirección Web externa.

La manera más fácil de ver como funciona, es instalando en nuestro Pc la aplicación (intermediario o brocker):

        http://kocher.es/cajon/mqtt-cumulus.png

« Última modificación: 20 de Octubre del 2020, 20:16:23 pm por kocher »



“La mente es como un paracaídas… Solo funciona si la tenemos abierta”.

“La formulación de un problema, es más importante que su solución”.

“Si buscas resultados diferentes, no hagas siempre lo mismo" . -Albert Einstein-

Desconectado errea

  • Full Member
  • ***
  • Mensajes: 106
    • Ver Perfil
    • Banaries - Huesca
  • Estación: ESARA2200000022194A - Huesca - Banariés
Re:MQTT en Cumulus MX
« Respuesta #8 en: 22 de Octubre del 2020, 19:38:05 pm »
Le tengo que dar otra vuelta más. En todos los tutoriales hablan de lo sencillo que es, pero se me antoja que no lo es tanto, ahora mismo tengo hasta dos broker en mi red... Y otro programa MQTT.FX los detecta como activos.  A ver si encuentro el tema en el foro y me ilustro un poco.

Desconectado errea

  • Full Member
  • ***
  • Mensajes: 106
    • Ver Perfil
    • Banaries - Huesca
  • Estación: ESARA2200000022194A - Huesca - Banariés
Re:MQTT en Cumulus MX
« Respuesta #9 en: 24 de Octubre del 2020, 20:06:10 pm »
Realmente hokcker siempre me pones en la buena pista.  He indagado en los mensajes del foro entre otros participantes y tu.

Casi a punto de tirar la toalla, he copiado de pe a pa tu fichero de configuración y con la ayuda de MQTT-explorer he conseguido ver por fin las lecturas que buscaba de CumulusMX.

Básicamente mi torpeza estaba en no ubicar bien los ficheros plantilla.  Hay que ponerlos en  CumulusMX/mqtt yo estaba chocando con este problema, con eso por un lado y por otro, creía que los ficheros había que procesarlos, como por ejemplo la plantilla de meteoclimatic y los de la web.

Primer paso dado, a pesar de que todos dicen lo sencillo del protocolo MQTT a mi se me atraganta bastante.

Ahora me voy a guerrear con Homeassistant  y como leer estos datos meteorológicos, para el confort de mi casa.

Gracias por tu ayuda.
« Última modificación: 31 de Octubre del 2020, 20:18:56 pm por errea »

Desconectado dtalens

  • Jr. Member
  • **
  • Mensajes: 95
    • Ver Perfil
    • MeteoPego
  • Estación: ESPVA0300000003780H
Re:MQTT en Cumulus MX
« Respuesta #10 en: 02 de Febrero del 2021, 19:42:49 pm »
Hola,

Ahora mismo tengo integrado mi estación Steinberg systems sbs-ws-600 (clónica de Ecowitt GW1001) con HA pero utilizo la opción de servidor personalizado y lo queria dejar libre para utilizar con la API de meteoclimatic. De esta manera podré connectarme a meteoclimatic sin depender de CumulusMX.

He conseguido que se conecte pero el problema que tengo es que la plantilla que genera Cumulus hay pocos datos; solo temperatura interior, humedad interior, velocidad del viento, racha de viento, faltan algunos.

La plantilla és la
Código: [Seleccionar]
DataUpdateTemplate.txt (en realidad he pegado el codigo de otra que hay en la misma carpeta
Código: [Seleccionar]
IntervalTemplate.txt. Al final el resultado es el que tenéis abajo:

Código: [Seleccionar]
{"time":"<#timehhmmss>","windspeed":<#wlatest rc=y>,"winddir":<#bearing>,"temp":<#temp rc=y>,"humidity":<#hum>,"wgust":<#wgust rc=y>}

La plantilla està en formato JSON pero me faltan las variables de los otros sensores. Alguno la tenéis completa?.



« Última modificación: 02 de Febrero del 2021, 21:30:37 pm por dtalens »

Desconectado kocher

  • Moderador Global
  • Hero Member
  • ******
  • Mensajes: 871
    • Ver Perfil
    • Meteo San Sebastian - Arriola
  • Estación: San Sebastian, Arriola ESEUS2000000020018A
Re:MQTT en Cumulus MX
« Respuesta #11 en: 03 de Febrero del 2021, 18:43:22 pm »
Saludos dtalens

En realidad, las plantillas que ha instalado Cumulus, no dejan de ser unos sencillos ejemplos: por ejemplo, aquí puedes ver como he modificado C:\CumulusMX\mqtt\IntervalTemplate.txt

Código: [Seleccionar]
{"time":"<#timehhmmss>","temp":<#temp rc=y>,"trend":<#temptrend rc=y>,"Htemp":<#tempTH>,"Ltemp":<#tempTL>,"Hgust":<#wgustTM>,"Wrun":<#windrun>,"Rt":<#rfall>,"Rm":<#rmonth>,"Ry":<#ryear>,"SunHr":<#SunshineHours>,"IsSun":<#IsSunny>}

El texto entre comillas corresponde a las etiquetas que tu quieras poner (por ejemplo "Hgust" me indica que el valor que sigue, corresponde a la máxima racha del día actual; pero lo puedes cambiar por lo que a ti te parezca mejor, por ejemplo: "Máxima racha registrada en el día de  hoy"); cumulus no procesa las etiquetas sino los tags.

Tienes libertad total para crear le plantilla que necesites y grabarla con el nombre que quieras.

Posteriormente en el Menú de cumulusMX: Settings >> Internet settings >> MQTT >> Send messages at fixed intervals, activar :

Enabled

interval Time (secs)

30 (puedes poner los segundos que tu quieras)

Topic Name: cumulus/miplantilla (puedes llamarlo como quieras, pero lo debes apuntar, ya que te tendrás que subscribir a él)

Template File
: IntervalTemplate.txt (puedes crear otras plantillas con el nombre que tu quieras)

En cuanto salves esta configuración, cumulus comienza a publicar cada 30 segundos (hay que recordar que no utiliza FTP ni envía ningún archivo). Si tenemos un brocker capaz de "escuchar esta publicación", la pone a disposición de todos los que quieran escuchar ese tema (TopicName).



Lo que a mí me costó bastantes días, fue el crear mi propio brocker (en Linux) pero, os aseguro que si seguís paso a paso el siguiente tutorial, lo conseguiréis:

                        https://obrienlabs.net/how-to-setup-your-own-mqtt-broker/


Para poder ver los datos publicados por Cumulus desde un Pc windows, existe una aplicación llamada MQTT Explorer:

                              https://mqtt-explorer.com/

Incluso tiene un sencillo tutorial animado

También se pueden ver los datos en un "smart¿?phone" ya que hay multitud de aplicaciones que funcionan de maravilla.

Espero que todo esto ayude algo

Ya me contaréis


Saludos

« Última modificación: 03 de Febrero del 2021, 18:59:55 pm por kocher »



“La mente es como un paracaídas… Solo funciona si la tenemos abierta”.

“La formulación de un problema, es más importante que su solución”.

“Si buscas resultados diferentes, no hagas siempre lo mismo" . -Albert Einstein-

Desconectado dtalens

  • Jr. Member
  • **
  • Mensajes: 95
    • Ver Perfil
    • MeteoPego
  • Estación: ESPVA0300000003780H
Re:MQTT en Cumulus MX
« Respuesta #12 en: 03 de Febrero del 2021, 22:48:39 pm »
Gracias kocher, ahora ya entiendo la estructura del fichero. De hecho mirando un poco mejor he visto que en el wiki de CumulusMX estan todos los tags.  :;
https://cumuluswiki.org/a/Webtags#Example_of_List_Web_Tags_output_for_MX

El tema del broker mqtt ya lo tenia un poc más visto. De hecho ya lo tenia instalado con un "addon" de Home asssistant. Ahora hay que fabricar el fichero con los tags adecuados.

Saludos,

Desconectado dtalens

  • Jr. Member
  • **
  • Mensajes: 95
    • Ver Perfil
    • MeteoPego
  • Estación: ESPVA0300000003780H
Re:MQTT en Cumulus MX
« Respuesta #13 en: 04 de Febrero del 2021, 10:27:40 am »
Ya tengo creado el fichero con los "tags" que me interesaban.
Lo dejo por aquí por si a alguien le puede servir:
Código: [Seleccionar]
{"Data":"<#date>","Hora":"<#timehhmmss>","Temperatura exterior":"<#temp rc=y>","Humitat exterior":"<#hum>","Temperatura interior":"<#intemp rc=y>","Humitat interior":"<#inhum>","Punt de rosada":"<#dew rc=y>","Sensació tèrmica":"<#feelslike rc=y>","Tendència temperatura":"<#temptrend rc=y>","Pressió relativa":"<#press rc=y>","Tendència pressió":"<#presstrend>","Taxa canvi pressió":"<#presstrendval rc=y>","Velocitat del vent":"<#wlatest rc=y>","Ratxa vent":"<#wgust rc=y>","Graus vent":"<#bearing>","Direcció vent":"<#currentwdir>","Tendència direcció vent":"<#wdir>","Radiació solar":"<#SolarRad rc=y>","Il·luminació":"<#Light rc=y>","UV":"<#UV rc=y>","Previsió oratge":"<#forecast>","Temperatura màxima diària":"<#tempTH rc=y>","Temperatura mínima diària":"<#tempTL rc=y>","Sensació tèrmica màxima diària":"<#feelslikeTH rc=y>","Sensació tèrmica mínima diària":"<#feelslikeTL rc=y>","Direcció del vent predominant diària":"<#domwinddir>","Velocitat del vent màxima diària":"<#windTM rc=y>","Ratxa de vent màxima diària":"<#wgustTM rc=y>","Hores de sol":"<#SunshineHours rc=y>","Eixida del sol":"<#sunrise>","Posta de sol":"<#sunset>","Dies sense ploure":"<#ConsecutiveDryDays>","Dies consecutius amb pluges":"<#ConsecutiveRainDays>","Número de versió disponible":"<#NewBuildNumber>"}
Saludos
« Última modificación: 04 de Febrero del 2021, 10:35:19 am por dtalens »