Notificaciones visuales basadas en el clima (u otras) con Nanoleaf e Home Assistant

8 minutos de lectura
FINES DE PROJET:
  • Automatizar el comportamiento de paneles luminosi Nanoleaf según el clima exterior (u otras condiciones específicas)
  • Nivel de dificultad media / baja
  • costo: basado en el panel Nanoleaf en uso
CONCEPTOS ENFRENTADOS:
COMPONENTES DE SOFTWARE UTILIZADOS:
  • Home Assistant configurado y funcionando (ver.> 0.67)
  • componentes Home Assistant "Nanoleaf Light Panel"
  • Una plataforma Home Assistant para la integración de las condiciones climáticas (en este prochorro "Darksky", Pero cualquiera que proporcione esta información está bien
DISPOSITIVOS FÍSICOS UTILIZADOS:
PROJET MÁS INDICADO PARA:

Todos los ambientes

Notas y descargo de responsabilidad
  • qualsiasi modifica all'impianto elettrico dev'essere effettuata da personale qualificato;
  • cualquier cambio implementado en proantes es un proresponsabilidad personal, así como un proprimer riesgo y peligro (esta guía es solo para fines educativos);
  • cualquier cambio implementado en proantes de que un dispositivo anule la garantía.
Revisione projet: +1.1

Abstract

Los paneles lumimuebles modulares Nanoleaf (los recientes Canvas, pero también el modelo anterior Aurora) ahora se sabe que son una solución muy amueblada apprezzata ambos en términos funcionales (es decir, para el propósito deluminare) que en términos puramente estéticos.

Nanoleaf AuroraEntre los varias características permitidas de los paneles y de ellos appdeclaración de gestión y control (disponible para iOS e Android) existe ese "colore", Que te permite usar patrones iridiscentes predefinidos (o personalizado, hecho desde cero). Estas configuraciones muestran incluso animaciones de colores muy diferentes, no solo en términos de interacción de colores, pero también en términos de velocidad, efecto de transición y otros parámetros.

laapp Nanoleaf se presenta una serie de esquemas predefinidos, juntos, que se pueden ampliar definiendo esquemas personales o descargando nuevos esquemas de la base de datos colaborativa de usuarios de Nanoleaf en todo el mundo.

Después de haber podido revisar Nanoleaf Canvas y he dedicado un guía para la integración en Home Assistant, inDomus se preguntó cuáles podrían ser las características accesorias dadas del uso combinado de estos paneles con el conocido Hub personal.

La respuesta (o al menos, una de las posibles) es el presente proelenco, que explicará cómo hacerlo activar esquemas de color específicos de Nanoleaf basado condiciones climáticas (o pronósticos, por qué no) de la ubicación en la que está instalado o basado a estados específicos de la proprimera domótica, a modo de "panel de control"(La detección de un alarma, el estado de un sensor y mucho más). Algo un poco mas elaborado de este otro projet basado solo en LED simples.

Cual es el limite?
Ven al solito, la fantasia.

se inicia

Lógica de projet

Primero nos equiparemos de información elemental en relación con el clima de la ubicación en la que están instalados Home Assistant y el / los panel / es de Nanoleaf. A partir de esta información, definiremos automatización que cuando se activa la entidad "Light"Que rapprestablece el panel Nanoleaf provveda ad appDescarte el efecto visual deseado. aprovechando los parámetros de servicio característicos de este tipo de entidad.

Appaplicando la misma lógica, sugeriremos automatizaciones que, por otro lado de la ocurrencia de una condición dada (p. ej., cruzar un umbral u otros estados de ciertas entidades) encienda el panel configurando un efecto visual específico.

supuestos

Para la realización del presente projet suponemos que:

Condiciones climáticas actuales

Como se anticipó, lo que necesitamos es una fuente de información relacionada en el estado actual de las condiciones climáticas de nuestra zona

Como se sabe, la integración con la plataforma "Dark Sky" nos permite proporcionarnos las condiciones climáticas, así como los pronósticos, a partir desde una latitud / longitud específica rappMostrar la posición geográfica de nuestro entorno domótico.

Entre las muchas entidades generadas por esta integración, hay una particularmente útil para esto. projet, el que appungido informa las condiciones climáticas casi en tiempo real. Esta entidad es del tipo "Weather" y cambia su nombre en función de la configuración de la integración.
Simplemente busque en la lista de entidades de Home Assistant para encontrarlo fácilmente:

Home Assistant - Cielo oscuro - Resumen del tiempo

Asumiremos, por el momento proreparto, que la entidad climática a nuestra disposición se llama "weather.casamia".
Además, utilizaremos (opcionalmente) el sensor "sensor.casamia_cloud_coverage", Otra entidad siempre generada por la integración de Dask Sky que proporciona el porcentaje de cobertura del cielo.

Las condiciones climáticas analizadas pueden ser:

  • sunny (Sunny)
  • clear-night (noche despejada)
  • rainy (Lluvias)
  • snowy (Nevado)
  • snowy-rainy (Aguanieve)
  • windy (Viento)
  • fog (Brumoso)
  • cloudy (Claro)
  • hail (Hail)
  • lightning (Relámpago)
  • partly-cloud (parcialmente nublado)

Lo que haremos es definir una entidad de plantilla que, a partir de las condiciones anteriores, defina en sí misma el nombre de un prohilo "color" presente en elapp Nanoleaf, para luego usarlo al definir la automatización que autoajustará el panel Nanoleaf.

NB Como se menciona en el resumen, el uso de la plataforma Dark Sky no es obligatorio: cualquier otra plataforma meteorológica es suficiente, siempre que proporcione la información anterior.

Nanoleaf

En este punto es necesario ir Presso l 'app Nanoleaf móvil e identificar cuáles son los patrones "colore" da applize basado en varias condiciones climáticas (cómo y cuándo lo veremos más adelante).

Cuando los esquemas de color presentes no sean adecuados, simplemente haga clic en "Descubrir" en la parte inferior izquierda y realice una búsqueda en la base de datos colaborativa de Nanoleaf y agregue a nuestra lista los que más nos interesan y nos complacen.

Nanoleaf App  3

inDomus ha identificado una serie de esquemas de color (que informaremos en el ejemplo a continuación) ideales para "mappson "condiciones climáticas externas". Lo importante es saber que, una vez que se define la lista de esquemas de color, es necesario traerlos de vuelta a la configuración teniendo cuidado de informar sus nombres tal como están escritos en elapp, bajo pena de fracasonamedel automatismo que definiremos.

En la imagen de arriba, por ejemplo, un esquema de color se llama "Falling White".
Informar el nombre:

  • falling whites - no funciona
  • Falling whites - no funciona
  • falling Whites - no funciona
  • Falling Whites - FUNCIONA

Por lo tanto, será el caso volver a configurar los nombres escritos de una manera corretto.

Algunos patrones interesantes encontrados por inDomus:

Condiciones climáticasNombre del esquema de color en elapp Nanoleaf
soleadoSunny
Noche claraStarry Night
lluviosoRain
Cubierto de nieve / aguanieveSnow Day
VentosoWindy Ocean
niebla*Solid*
Nublado / Parcialmente NubladoCloudy
GranizoRain Shower
fulminaciónLightning

Definición del sensor

Como se mencionó, definiremos un sensor de plantilla para definir automáticamente, a medida que cambian las condiciones, el procable corregido por appal panel Esta elección está dirigida a concentrar la lógica de elección de la prohilo de color en él, para poder utilizar su salida en cualquier automatización / guión / escena.

Luego agregaremos a la configuración de Home Assistant un sensor así definido:

sensor:
  - platform: template
    sensors:
      nanoleaf_weather_based_effect:
        friendly_name: "Effetto luminoso Naoleaf su base clima"
        value_template: >-
          {% if is_state("weather.casamia","sunny") %}
          Sunny
          {% elif is_state("weather.casamia","clear-night") %}
          Starry Night
          {% elif is_state("weather.casamia","rainy") %}
          Rain
          {% elif is_state("weather.casamia","snowy") %}
          Snow Day
          {% elif is_state("weather.casamia","snowy-rainy") %}
          Snow Day
          {% elif is_state("weather.casamia","windy") %}
          Windy Ocean
          {% elif is_state("weather.casamia","fog") %}
          *Solid*
          {% elif is_state("weather.casamia","cloudy") %}
          Clouds
          {% elif is_state("weather.casamia","hail") %}
          Rain Shower
          {% elif is_state("weather.casamia","lightning") %}
          Lightning
          {% elif is_state("weather.casamia","partlycloudy") %}
            {% if is_state("sun.sun","above_horizon") %}
              {% if states("sensor.casamia_cloud_coverage")|int < 40 %}
              Sunny
              {%- else -%}
              Cloudy day
              {% endif %}
            {%- else -%}
            Starry Night
            {% endif %}
          {% else %}
          Falling Whites
          {% endif %}

El sensor que definimos (llamado "sensor.nanoleaf_weather_based_effect") Contendrá en proprimero una cuerda rappcon el nombre de uno de los procables de color previamente identificados en función de las condiciones climáticas cambiantes. Este valor cambiará automáticamente a medida que cambie el estado del sensor "weather.casamia".

No hace falta decir que obviamente el esquema procolocar ambos altamente personalizable, tanto en la lógica de appindicación del esquema de color tanto en los esquemas de color elegidos.

En la parte final se introdujo una excepción: de hecho, se notó cómo Dask Sky tiende a comunicar una condición "parcialmente nublada" incluso con poca presencia de nubes. Si la condición comunicada es "parcialmente nublada" pero la cobertura de nubes es inferior al 40%, el sensor de plantilla utiliza prohilo de color dedicado a los días soleados. Por otra parte, después del atardecer appsiempre lo mismo prohilo ("Noche estrellada").

Usar pronósticos

Nadie nos obliga a usar necesariamente las condiciones climáticas actuales. De hecho, la intención podría ser mostrar en el panel no tanto las condiciones actuales como lo es pronósticos del tiempo para las horas 12-24. Bueno: para hacer esto será suficiente, en lugar de "weather.casamia"- usa otra entidad que proporciona el pronóstico en lugar de la condición actual.

Restante tras la implementación de "Dark Sky", una entidad útil podría ser el sensor que termina con el sufijo "_hourly_summary": A partir de los estados proporcionados por él (atención, estos se proporcionan en el idioma en el que proprio Home Assistant y no necesariamente en inglés), sería suficiente personalizar el sensor anterior de manera adecuada, por ejemplo:

sensor:
  - platform: template
    sensors:
      nanoleaf_weather_based_effect:
        friendly_name: "Effetto luminoso Naoleaf su base clima"
        value_template: >-
          {% if is_state("sensor.casamia_hourly_summary","Soleggiato") %}
          Sunny
          {% elif is_state("sensor.casamia_hourly_summary","Venticello") %}
          Windy
          {% elif is_state("sensor.casamia_hourly_summary","Piovoso") %}
          Rain
          {% else %}
          Falling Whites
          {% endif %}

AUTOMATIZACIÓN

En este punto es necesario definir automatización que proverá a la gestión automática en elappidentificación del efecto lumiconectado al panel.

Lo más simple e intuitivo es definir uno que, cuando el panel está encendido, prover appCambiar el esquema de color consistente con el clima, comenzando por el valor del estado del sensor "sensor.nanoleaf_weather_based_effect"Que, como se explicó, prose ve a sí mismo para valorarse a sí mismo.

Por lo tanto, la automatización se realiza tan fácilmente:

automation:
- alias: "Impostazione Nanoleaf su base clima"
  trigger:
    platform: state
    entity_id: light.nanoleaf
    to: 'on'
  condition: []
  action:
    service: light.turn_on
    entity_id: light.nanoleaf
    data_template:
      effect: '{{ states.sensor.nanoleaf_weather_based_effect.state }}'

Il trigger obviamente es el cambio de estado del panel a "on" ("on"), Ninguno está presente condition (pero obviamente esto puede ser objeto de personalización) mientras que elaction prevé el uso del servicio light.turn_on que no es tan necesario cuando el panel está encendido, que ya está encendido, sino más bien encendidoappcatión del efecto de color derivado del sensor de plantilla previamente definido (última línea).

Lo interesante es que la automatización se realiza cada vez que se enciende el panel no solo de Home Assistant, pero también de su app o incluso manualmente. La razón es simple: la integración de Nanoleaf significa que Home Assistant Conozca el estado y el estado del panel, por lo que sea cual sea el método de encendido, la automatización siempre se realiza.

Usar como medio de notificación

Más allá de configurar automáticamente un esquema de color para las condiciones climáticas, también se puede usar un panel Nanoleaf como una herramienta para notificar ciertos eventos relacionado a proPrimera domótica personal.

Como, como se explicó, es posible crear esquemas personales proantes (colores sólidos, luces intermitentes, colores iridiscentes, etc.), es fácil pensar en encender el panel y mostrar el esquema de colores antes mencionado cuando ocurre una situación dada.

Supongamos, por lo tanto, por ejemplo, que hemos integrado un Home Assistant de sensores de inundación (entidad "binary_sensor.water_leak_sensor"), Una válvula solenoide para interrumpir la afluencia de agua central (entidad "switch.ACQUA") Y quiere definir una automatización que

  • detener el flujo de agua;
  • encienda el panel Nanoleaf en el esquema de color "Allagamento"(Suponemos que es rojo, color sólido).

La automatización podría ser lo siguiente:

automation:
- alias: "Allagamento "
  trigger:
    platform: state
    entity_id: binary_sensor.water_leak_sensor
    from: 'off'
    to: 'on'
  condition: []
  action:
    - service: switch.turn_off
      entity_id: switch.ACQUA
    - service: light.turn_on
      entity_id: light.nanoleaf
      data_template:
        effect: 'Allagamento'

En presencia de la automatización que establece el panel, cuando está encendido, en el esquema de "color" relacionado con el clima ("automation.impostazione_nanoleaf_su_base_clima"), Obviamente será necesario deshabilitarlo temporalmente cuando se ejecute, de lo contrario las dos automatizaciones entrarían en conflicto entre sí.

La automatización resultante será entonces:

automation:
- alias: "Allagamento "
  trigger:
    platform: state
    entity_id: binary_sensor.water_leak_sensor
    from: 'off'
    to: 'on'
  condition: []
  action:
    - service: homeassistant.turn_off
      entity_id: automation.impostazione_nanoleaf_su_base_clima
    - service: switch.turn_off
      entity_id: switch.ACQUA
    - service: light.turn_on
      entity_id: light.nanoleaf
      data_template:
        effect: 'Allagamento'
    - delay:
        seconds: 3
    - service: homeassistant.turn_on
      entity_id: automation.impostazione_nanoleaf_su_base_clima

En evidencia las líneas agregadas que proven que la automatización del "clima" se detiene, espera tres segundos y luego la reactiva.


Home Assistant Logo oficialATTENZIONE: recuerda que hay en nuestra comunidad FORO una sección ad hoc dedicada a Home Assistant, para cualquier duda, pregunta, información en el mérito específico de estos componentes.


Por favor comente abajo