Ayuda con automatización Home Assistant

fjgaspar

Fulgencio
Registrado
22 Oct 2022
Mensajes
2
Ubicación
Sevilla
Wh
11
Hola,

Soy nuevo con Home Assistant y necesito ayuda con una automatización. Mediante Node-red, paso al HA las lecturas del grid de la red y en el HA tengo una entidad y un sensor que muestran la lectura.

Según el manual del inversor, cuando esa lectura es negativa (<0) significa que estoy tomando electricidad de la calle, mientras que si es positiva (>0) es que estoy soltando electricidad a la red eléctrica.

Quiero que me avise por móvil cuando lo que vierto a la red es mayor de 300 W y que me avise cuando vierto menos de 300 W.

He creado dos automatizaciones: Una para cuando vierto y otra para cuando consumo.

Vierto: Desencadenante: Dispositivo (sensor). Por encima de 300. 20 segundos.
Dejo de verter: Desencadenante: Dispositivo (sensor). Por debajo de 300. 20 segundos.

Solo quiero que me notifique cuando supera 300 o cuando baja de 300, no si ya lo está, o sea, que si está en 400 no me tiene que notificar porque ya me habrá notificado que está por encima de 300. Y tampoco quiero que si por ejemplo se pone en el límite a fluctuar entre 305 y 295 me mande mensajes cada segundo, o sea, que quiero que la lectura de por encima o por debajo sea estable durante un tiempo (20 segundos está bien, por eso puse 20 segundos pero no sé si es así como se hace).

El caso es que lo he estado probando y no parece que funcione, pero ahora mismo las condiciones climáticas no son adecuadas para hacer pruebas. Está bien así? Alguna ayuda?
 
Hola,

Soy nuevo con Home Assistant y necesito ayuda con una automatización. Mediante Node-red, paso al HA las lecturas del grid de la red y en el HA tengo una entidad y un sensor que muestran la lectura.

Según el manual del inversor, cuando esa lectura es negativa (<0) significa que estoy tomando electricidad de la calle, mientras que si es positiva (>0) es que estoy soltando electricidad a la red eléctrica.

Quiero que me avise por móvil cuando lo que vierto a la red es mayor de 300 W y que me avise cuando vierto menos de 300 W.

He creado dos automatizaciones: Una para cuando vierto y otra para cuando consumo.

Vierto: Desencadenante: Dispositivo (sensor). Por encima de 300. 20 segundos.
Dejo de verter: Desencadenante: Dispositivo (sensor). Por debajo de 300. 20 segundos.

Solo quiero que me notifique cuando supera 300 o cuando baja de 300, no si ya lo está, o sea, que si está en 400 no me tiene que notificar porque ya me habrá notificado que está por encima de 300. Y tampoco quiero que si por ejemplo se pone en el límite a fluctuar entre 305 y 295 me mande mensajes cada segundo, o sea, que quiero que la lectura de por encima o por debajo sea estable durante un tiempo (20 segundos está bien, por eso puse 20 segundos pero no sé si es así como se hace).

El caso es que lo he estado probando y no parece que funcione, pero ahora mismo las condiciones climáticas no son adecuadas para hacer pruebas. Está bien así? Alguna ayuda?

Hola, muy buenas, aprovecho para presentarme en este mismo post, ya que me he unido hace unos minutos, espero aprender mucho de todos los consejos y experiencias que por aqui exponéis, y como soy veterano en esto de los foros, en lo que pueda ayudar también participaré. Asi que, dando una lectura rápida de los últimos post, he considerado aportar mi primer granito....


Fjgaspar, aqui tienes una automatización que te funcionará para lo que quieres hacer, teniendo en cuenta que tendrás que añadir tus entidades, tanto para los servicios de notificación como el sensor.

Para la segunda parte, el aviso de cuando baja de 300 watios, tan solo tienes que repetir la automatización, cambiando la línea "above: '300'" por "below:'300' y lógicamente los mensajes que quieres recibir y la descripción.

Espero haber sido de ayuda. Un saludo.


- id: '1665941016708'
alias: Notifica excedente solar superior a 300 watios
description: Notifica al movil y los altavoces cuando el excedente solar es superior a 300 watios.

trigger:

- platform: numeric_state
entity_id:
- sensor.meter_active_power_total (este sensor es el que te mide los watios, cambialo por el tuyo)
above: '300'
for:
hours: 0
minutes: 0
seconds: 20

action:

- service: media_player.volume_set
entity_id: media_player.altavoces (pon la entidad de tus altavoces inteligentes)
data:
volume_level: '1'

- service: tts.cloud_say
entity_id: media_player.altavoces
data:
message: "INFORMACIÓN: El excedente solar ha superado los 300 watios"
options:
gender: female
language: es-ES


- service: notify.movil (cambialo por la notificación definida para tu móvil)
data_template:
title: "INFORMACIÓN: Excedente solar"
message: "INFORMACIÓN: El excedente solar ha superado los 300 watios"
mode: single
 
Caramba qué detallada la respuesta, muchas gracias.

Lamentablemente, no tengo ni idea de dónde tendría que escribir todo eso. Yo las automatizaciones las hago en el editor visual. Lo que más me interesa es saber si lo que planteo funcionaría para lo que pretendo o no, es decir, si lo de los 20 segundos sirve para que no me vuelva a notificar hasta que pasen 20 segundos o se refiere a que el valor del sensor tiene que estar por encima (o por debajo) 20 segundos para que me envíe la alerta.
 
Caramba qué detallada la respuesta, muchas gracias.

Lamentablemente, no tengo ni idea de dónde tendría que escribir todo eso. Yo las automatizaciones las hago en el editor visual. Lo que más me interesa es saber si lo que planteo funcionaría para lo que pretendo o no, es decir, si lo de los 20 segundos sirve para que no me vuelva a notificar hasta que pasen 20 segundos o se refiere a que el valor del sensor tiene que estar por encima (o por debajo) 20 segundos para que me envíe la alerta.
Tienes las dos opciones, si utilizas el comando "for", como yo te he puesto, le estas diciendo que tiene que estar 20 segundos por encima (above) o por debajo (below) del tiempo que le marcas. Si utilizas el comando "relay" lo interpretará como un tiempo de espera para hacer algo...notificar, leer el sensor, etc.

En pantalla de las automatizaciones, arriba a la derecha, tienes tres puntitos, si lo despliegas obtendrás las posibilidades de editar en modo visual o modo yaml, si editas en modo yaml pegas el texto de la programación en yaml y es lo mismo que hacerlo en modo editor.

Tendrás que gastar un poco de tu tiempo para aprender estas cositas... y le sacarás mucho jugo a Home Assistant. :emoji_stuck_out_tongue_winking_eye:
 
Cuidado con los espacios, porque si yo me copio/pego ese texto tal cual lo veo, sospecho que el yaml resultante no es válido. @RENE ¿lo puedes meter entre etiquetas [icode]?
 
Cuidado con los espacios, porque si yo me copio/pego ese texto tal cual lo veo, sospecho que el yaml resultante no es válido. @RENE ¿lo puedes meter entre etiquetas [icode]?
Efectivamente, el lenguaje yaml es un lenguaje que debe ir con indentación (sangrado o espacios que jerarquizan las líneas de código para una mejor comprensión por nosotros y para la correcta interpretación por la máquina).
Mi error, ha sido dar por hecho que quien hace la consulta sobre la automatización era conocedor de este requisito, y tiene unos conocimientos mínimos sobre el funcionamiento de Home Assistant y el lenguaje yaml, por lo que le pegué el código tal cual, para que él lo adaptara con sus sensores y medios de notificación y borrara mis comentarios.
A veces olvido personalizar a quién va dirigido mi mensaje y doy por hecho conocimientos que no todo el mundo tiene, sobre todo si esta empezando, y pidiendo ayuda, como en este caso.... :emoji_nose:

Aquí tenéis los códigos, listos para copia y pega, para que funcione solo tenéis que cambiar los nombres de los sensores y los medios de notificación en los que deberéis poner los nombres de vuestras entidades.

AUTOMATIZACIÓN PARA HOME ASSISTANT QUE NOTIFICA A LOS MÓVILES Y ALTAVOCES GOOGLE CUANDO EL EXCEDENTE SOLAR ES SUPERIOR A 300 WATIOS DURANTE MÁS DE 20 SEGUNDOS.

YAML:
- id: '1665941016708'
  alias: Notifica excedente solar superior a 300 watios
  description: Notifica al movil y los altavoces google cuando el excedente solar ha superado los 300 watios durante más de 20 segundos.

  trigger:

  - platform: numeric_state
    entity_id:
# la línea que viene a continuación es la que tienes que cambiar con el nombre de tu sensor.
    - sensor.meter_active_power_total
    above: '300'
    for:
      hours: 0
      minutes: 0
      seconds: 20

  action:

  - service: media_player.volume_set
# en la línea que viene a continuación tienes que cambiar  el nombre de la entidad de tu altavoz inteligente.
    entity_id: media_player.altavoces
    data:
      volume_level: '1'

  - service: tts.cloud_say
# en la línea que viene a continuación tienes que cambiar  el nombre de la entidad de tu altavoz inteligente.
    entity_id: media_player.altavoces
    data:
      message: "INFORMACIÓN: El excedente solar ha superado los 300 watios"
      options:
      gender: female
      language: es-ES

# en la línea que viene a continuación tienes que cambiar  el nombre de tu servicio de notificación al móvil.
  - service: notify.movil
    data_template:
      title: "INFORMACIÓN: Excedente solar"
      message: "INFORMACIÓN: El excedente solar ha superado los 300 watios"

  mode: single


AUTOMATIZACIÓN PARA HOME ASSISTANT QUE NOTIFICA A LOS MÓVILES Y ALTAVOCES GOOGLE CUANDO EL EXCEDENTE SOLAR ES INFERIOR A 300 WATIOS DURANTE MÁS DE 20 SEGUNDOS.

YAML:
- id: '1665941016889'
  alias: Notifica excedente solar inferior a 300 watios
  description: Notifica al móvil y los altavoces google cuando el excedente solar es inferior a 300 watios durante más de 20 segundos.

  trigger:

  - platform: numeric_state
    entity_id:
# la línea que viene a continuación es la que tienes que cambiar con el nombre de tu sensor.
    - sensor.meter_active_power_total
    below: '300'
    for:
      hours: 0
      minutes: 0
      seconds: 20

  action:

  - service: media_player.volume_set
# en la línea que viene a continuación tienes que cambiar  el nombre de la entidad de tu altavoz inteligente.
    entity_id: media_player.altavoces
    data:
      volume_level: '1'

  - service: tts.cloud_say
# en la línea que viene a continuación tienes que cambiar  el nombre de la entidad de tu altavoz inteligente.
    entity_id: media_player.altavoces
    data:
      message: "INFORMACIÓN: El excedente solar es inferior a los 300 watios"
      options:
      gender: female
      language: es-ES

# en la línea que viene a continuación tienes que cambiar  el nombre de tu servicio de notificación al móvil.
  - service: notify.movil
    data_template:
      title: "INFORMACIÓN: Excedente solar"
      message: "INFORMACIÓN: El excedente solar es inferior a los 300 watios"

  mode: single


EN EL CASO DE QUE DISPONGÁIS DE ALTAVOCES INTELIGENTES ALEXA, deberéis integrar el siguiente código:
-si solo tenéis altavoces Alexa, sustituyendo a partir de "service: tts.cloud say..."
- si disponéis de los dos tipos de altavoces en casa, hay que añadir el código al final y ya esta, lógicamente cambiando los nombres de las entidades de vuestros altavoces.
YAML:
#En la siguiente línea cambia el nombre del servicio de notificación al de tu altavoz Alexa.
  - service: notify.alexa_media_echo_dot_de_xxxxxx
    data:
      message: "INFORMACIÓN: El excedente solar es [B]inferior o superior (borrar lo que no proceda)[/B] a los 300 watios"
#En la siguiente línea cambia el nombre de la entidad media_player por la de tu altavoz Alexa.
      target: media_player.echo_dot_de_xxxxxx
      data:
        type: announce
 
Atrás
Arriba