Autor Tema: Home Assistant  (Leído 2733 veces)

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

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.831
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Home Assistant
« en: 17 de Abril del 2024, 19:49:00 pm »
Buenas tardes

Para facilitar las cosas a los usuarios de Fine Offset, se me ocurría hacer algún script para subir los datos directamente desde Home Assistant (para todos los que tengáis domótica con dicho software)

Pero me he quedado atascado

No consigo que Home Assistant grabe en un fichero los datos correspondientes.

He conseguido grabar con el servicio notify en un fichero, mediante una automatización, pero lo hace en formato log. Es decir ser van añadiendo líneas si final del fichero en lugar de sobreescribirlo

Si alguien tiene una idea de cómo hacerlo, se lo agradecería

Saludos
Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

Home Assistant + GW1000 + WH2650
Sensores: WH32P + WS65 + WH31 (3) + WH41 + WH32

Desconectado cgine

  • Newbie
  • *
  • Mensajes: 12
    • Ver Perfil
  • Estación: ESCAT4300000043860A
Re:Home Assistant
« Respuesta #1 en: 14 de Agosto del 2024, 20:28:51 pm »
Hola,

pues me he animado a ver si lo podía integrar desde Homeassisant, y ya van pasando cosas.

He montado dos flujos con el addon de nodered para HA:

- El primero lee los sensores y genera la plantilla (creo que en formato Cumulus si no lo he hecho mal).
- El segundo lee la plantilla generada y, convirtiendo el script Python de jmviper a nodered lo envía a Meteoclimatic.

Lo he separado en dos porque así es más 'modular'.

Ahora hay que limpiarlo un poco, pero ya envía datos a Meteoclimatic sin problema.

Si alguien está interesado lo posteo, si no, cuando lo tenga en bonito miraré de ponerlo en Github (si me aclaro).

Saludos

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.831
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Home Assistant
« Respuesta #2 en: 14 de Agosto del 2024, 21:42:21 pm »
Pues ya puestos, calcula la presión relativa en función de la absoluta que envía la consola/gateway, compensada por altitud y temperatura en lugar del clásico offset que ofrece sumada a la presión.

Las fórmulas están accesibles…..y si tienes duda pues chatgpt hace maravillas
Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

Home Assistant + GW1000 + WH2650
Sensores: WH32P + WS65 + WH31 (3) + WH41 + WH32

Desconectado cgine

  • Newbie
  • *
  • Mensajes: 12
    • Ver Perfil
  • Estación: ESCAT4300000043860A
Re:Home Assistant
« Respuesta #3 en: 14 de Agosto del 2024, 23:23:52 pm »
Dividir la altura entre 8,6 y sumarlo a la presión absoluta?

Lo intentaré…a ver si lo consigo…

Saludos.

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.831
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Home Assistant
« Respuesta #4 en: 15 de Agosto del 2024, 00:06:45 am »
No, no, es más complicado *+* *+* *+* *+*
Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

Home Assistant + GW1000 + WH2650
Sensores: WH32P + WS65 + WH31 (3) + WH41 + WH32

Desconectado cgine

  • Newbie
  • *
  • Mensajes: 12
    • Ver Perfil
  • Estación: ESCAT4300000043860A
Re:Home Assistant
« Respuesta #5 en: 15 de Agosto del 2024, 00:12:43 am »
Ufff…pues así seguro que no lo consigo…

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.831
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Home Assistant
« Respuesta #6 en: 15 de Agosto del 2024, 00:21:28 am »
Hay muchas web que explican las fórmulas

Yo tengo que reconocer que meter estos churros en un programa, sería imposible para mi

Una aproximación

https://www.sensorsone.com/elevation-station-qfe-sea-level-qnh-pressure-calculator/
Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

Home Assistant + GW1000 + WH2650
Sensores: WH32P + WS65 + WH31 (3) + WH41 + WH32

Desconectado cgine

  • Newbie
  • *
  • Mensajes: 12
    • Ver Perfil
  • Estación: ESCAT4300000043860A
Re:Home Assistant
« Respuesta #7 en: 15 de Agosto del 2024, 00:28:55 am »
Mañana lo miro…ahora estoy en el chiringuito de la playa😜

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.831
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Home Assistant
« Respuesta #8 en: 15 de Agosto del 2024, 00:30:32 am »
Ese es mejor ejercicio….no lo dudes……

Y a nivel del mar *+* *+*


Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

Home Assistant + GW1000 + WH2650
Sensores: WH32P + WS65 + WH31 (3) + WH41 + WH32

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.831
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Home Assistant
« Respuesta #9 en: 15 de Agosto del 2024, 00:44:36 am »
No….déjalo, en serio…..era medio en broma, porque últimamente hemos discutido mucho sobre la presión absoluta y la forma de calcular correctamente la relativa o reducida a nivel del mar.

Pero lo que sí es interesante es que expliques un poco mejor eso del flujo de moderes…..yo hice unos pinitos hace un par de años…funcionó y lo dejé, pero me parece muy interesante

Sobre todo que no creo que sea tan simple eso de convertir en base 62…..será algo más complejo.

Gracias y saludos…y disfrutar de la playa
Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

Home Assistant + GW1000 + WH2650
Sensores: WH32P + WS65 + WH31 (3) + WH41 + WH32

Desconectado cgine

  • Newbie
  • *
  • Mensajes: 12
    • Ver Perfil
  • Estación: ESCAT4300000043860A
Re:Home Assistant
« Respuesta #10 en: 15 de Agosto del 2024, 04:11:07 am »
Pues ya me he liado al volver de tomar cacharros en la playa por la noche.

He modificado el flujo para que haga un calculo de la presión relativa en base a la absoluta, la temperatura y la altitud. La verdad es que no sé si está bien, ya diréis, pero al menos hay unas cuantas mates en la rutina. El nodo se llama 'Calcular Presión Relativa' y la verdad es que ha sido gracias al ChatGPT. El link que me has pasado tenia una calculadora, que no tenia en cuenta la temperatura, y debía ser muy técnico porque no he entendido un pijo.

Por lo demás, los dos flujos están ya algo más limpios:

- El que genera la plantilla (crear_plantilla_meteoclimatic.json) tiene 3 variables de entrada en nodos de inyección:
  - Altitud --> La altitud de la estación para el calculo de la presión relativa
  - COD --> El codigo de la estación a actualizar
  - SIG --> El SIG que da cuando descargas la plantilla (por lo que entiendo, no es que Meteoclimatic sea muy autoexplicativo la verdad)
 
 En este flujo hay que actualizar estos 3 nodos y los sensores (hay 11 que yo leo de la Wittboy) para que sea capaz de generar la plantilla.
 La plantilla se generará cada 30 segundos en el directorio Meteoclimatic dentro del directorio base de Nodered en HomeAsssistant
 Los nodos de debug te mostrarán la plantilla generada.
 En el nodo 'Construir plantilla Meteoclimatic' es donde se 'rellenan' los campos de la plantilla. En mi caso queda pendiente actualizar los máximos y  mínimos mensuales y anuales. Ya me lo miraré.

- El que envía la plantilla (envio_a_meteoclimatic.json) en realidad es una conversión del script python de jmviper, he intentado no tocar nada porque he visto que el python funcionaba. Ni lo he limpiado, solo lo he pasado a Javascript.
 
 En este flujo he eliminado codificación del md5 para el password, porque así no hay que poner librerías que no vienen en el standard de HA y he visto que se come el envío sin password(?).
 Por eso he implementado el codigo de la estación y el SIG como variables, para que no estén en el codigo, no sea que se pueda actualizar los datos de cualquier estación. Igual el SIG, que no se si es quien lo controla. De todos modos he visto mensajes en el foro que aparecen los códigos de estación junto al SIG. No lo he probado pero...
 
 Bueno, este segundo flujo se ejecuta cada 15 minutos y envía a Meteoclimatic y no hace falta tocar nada en teoría.

Para usar estos flujos, lo único que hay que hacer es:
- Instalar el addon de NodeRed en HomeAssistant
- Importar los dos flujos
- En el flujo de creación de la plantilla:
   - Modificar el nombre de los sensores en los nodos pollstate (hay 11)
   - Cambiar los nodos de inyección de la Altitud, el COD (codigo estación) y el SIG (lo que sea que es)
   - Si se quiere, en cada pollstate cambiar la frecuencia (ahora son cada 30 segundos) aunque el que envía a Meteoclimatic es el otro flujo.
- En el flujo de envio de la plantilla
   - Si se quiere cambiar la frecuencia de envio (ahora son 15 minutos) en el nodo 'Iniciar flujo'.


Y ya está, de verdad que son 15 minutos ponerlo en marcha.

Adjunto un par de screenshots para que veáis como deben quedar los flujos y el codigo JSON para poder importarlos.

Saludos.

ps: Si quereis hablamos de lo del calculo de la presión relativa.

« Última modificación: 15 de Agosto del 2024, 06:48:58 am por cgine »

Desconectado cgine

  • Newbie
  • *
  • Mensajes: 12
    • Ver Perfil
  • Estación: ESCAT4300000043860A
Re:Home Assistant
« Respuesta #11 en: 15 de Agosto del 2024, 04:11:58 am »
el resto de adjuntos que no me cabian
« Última modificación: 16 de Agosto del 2024, 13:47:07 pm por cgine »

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.831
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Home Assistant
« Respuesta #12 en: 15 de Agosto del 2024, 08:13:52 am »
 apla3 apla3 apla3 apla3 apla3 apla3

Ufffff…..ahora tengo cosas pendientes, pero el tema de moderes me llamaba la atención, aunque con el handicup de que yo uso Home Assistant en Docker, por lo que no de red tengo que montarlo en Docker.

Quería pasarme a un entorno en Proxmox para montar Home Assistant OS en una máquina virtual

Tengo muchas cosas pendientes, pero mis ojos solo me permiten un número de horas muy limitado de pantalla.


Yo tengo pendiente para otro proyecto calcular la presión relativa con una fórmula sencilla( hay muchas disponibles). Creo, y solo creo, que es la que usa Weewx



Donde t K es la temperatura en Kelvin……una fórmula súper sencilla comparada con otras que he visto que hay que estudiar Ciencias Exactas para entenderla y plasmarla en un script

Pero aún no lo he probado……tengo cosas delante *+* *+* *+* *+* *-* *-* *-*
« Última modificación: 15 de Agosto del 2024, 08:20:21 am por jantoni »
Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

Home Assistant + GW1000 + WH2650
Sensores: WH32P + WS65 + WH31 (3) + WH41 + WH32

Desconectado cgine

  • Newbie
  • *
  • Mensajes: 12
    • Ver Perfil
  • Estación: ESCAT4300000043860A
Re:Home Assistant
« Respuesta #13 en: 15 de Agosto del 2024, 12:19:27 pm »
Pues no sé lo del docker si requiere que instales nodered por separado. En realidad al ser un addon está 'dentro' de la instalación de HA, pero ni idea.

En cuanto a lo del calculo de la presión relativa, la formula que en teoría estoy usando es la siguiente (la simplificada), gracias a nuestro amigo ChatGPT:






Tampoco tengo claro que lo esté calculando bien, porque según la explicación To es la temperatura a nivel del mar, y  la que yo le he puesto es la de la estación, que en mi caso está a 40 msm, pero no sé si en otros casos dará variaciones significativas.

Bueno, ya vamos hablando si lo probais.

Saludos
« Última modificación: 15 de Agosto del 2024, 12:43:17 pm por cgine »

Desconectado cgine

  • Newbie
  • *
  • Mensajes: 12
    • Ver Perfil
  • Estación: ESCAT4300000043860A
Re:Home Assistant
« Respuesta #14 en: 22 de Agosto del 2024, 01:11:33 am »
Buenas,

pues esto ha ido creciendo. Suerte que ya quedan pocos días de vacaciones que sino...

Ya está bastante limpio y se generan algunos sensores extra en Home Assistant para poder enterarte de si ha habido algún problema con los envíos.

También se guardan en HA la ultima plantilla aceptada, con error o rechazada.

Y he hecho un dashboard simple para que ver como van los envíos diarios, semanales, mensuales y anuales.

Saludos
« Última modificación: 22 de Agosto del 2024, 01:13:08 am por cgine »