Notifications visuelles basées sur le climat (ou autres) avec Nanoleaf e Home Assistant

8 minutes de lecture
BUTS DE PROJET:
  • Automatiser le comportement de panneaux lumiNosi Nanoleaf en fonction de la météo extérieure (ou d'autres conditions spécifiques)
  • Niveau de difficulté: moyen / faible
  • coût: basé sur le panneau Nanoleaf utilisé
CONCEPTS FACE:
COMPOSANTS LOGICIELS UTILISÉS:
  • Home Assistant configuré et fonctionnel (ver.> 0.67)
  • composants Home Assistant "Nanoleaf Light Panneau"
  • Une plate-forme Home Assistant pour l'intégration des conditions météorologiques (dans ce projet, "DarkSky", Mais quiconque fournit cette information va bien
DISPOSITIFS PHYSIQUES UTILISÉS:
PROJET LE PLUS INDIQUÉ POUR:

Tous les environnements

Notes et avertissement
  • qualsiasi modifica all'impianto elettrico dev'essere effettuata da personale qualificato;
  • tout changement mis en œuvre dans proavant est un prola responsabilité personnelle, ainsi que propremier risque et danger (ce guide est à des fins éducatives uniquement);
  • tout changement mis en œuvre dans proavant qu'un appareil annule la garantie.
Revisione projet: 1.1

Abstrait

Les panneaux lumimobilier modulaire Nanoleaf (les plus récents Canvas, mais aussi le modèle précédent Aurore) sont maintenant connus pour être une solution très fournie apprezzata à la fois en termes fonctionnels (c'est-à-dire aux fins de laluminare) qu'en termes purement esthétiques.

Nanoleaf AuroraParmi les diverses fonctionnalités autorisées des panneaux et d'eux appdéclaration de gestion et de contrôle (disponible pour iOS e Android) il y a que "colore", Ce qui vous permet d'utiliser motifs irisés prédéfinis (ou personnalisé, fabriqué à partir de zéro). Ces paramètres affichent même des animations de couleurs très différentes, non seulement en termes d’interaction des couleurs, mais aussi en termes de vitesse, effet de transition et autres paramètres.

L 'app Nanoleaf se présente un certain nombre de schémas prédéfinis, ensemble, qui peuvent être étendus soit en définissant des schémas personnels, soit en téléchargeant nouveaux régimes de la base de données collaborative des utilisateurs de Nanoleaf à travers le monde.

Après avoir pu passer en revue Nanoleaf Canvas et ont dédié un guide d'intégration sur Home Assistant, inDomus se demandait quelles pourraient être les caractéristiques accessoires données de l'utilisation combinée de ces panneaux avec le connu HUB personnel.

La réponse (ou au moins une des possibles) est le présent profonte, qui expliquera comment faire activer des palettes de couleurs spécifiques Nanoleaf basé conditions météorologiques (ou prévisions, pourquoi pas) de l'emplacement dans lequel il est installé ou basé à des états spécifiques du propremière domotique, par voie de "panneau de commande"(La détection d'un alarme, le statut d'un capteur et bien plus encore). Quelque chose d'un peu plus élaboré de cet autre projet basé uniquement sur de simples LED.

Quelle est la limite?
Comme d'habitude, la fantasia.

Il commence

Logique de projet

D'abord nous allons nous équiper d'informations élémentaires relatif au climat du lieu où ils sont installés Home Assistant et le / les panneau (s) Nanoleaf. À partir de ces informations, nous définirons ensuite automation qui, quand l'entité est allumé "Light"Ce rappréinitialise le panneau Nanoleaf provveda ad appJeter l'effet visuel désiré. en tirant parti des paramètres de service caractéristiques de ce type de entité.

Appen appliquant la même logique, nous proposerons des automatisations qui, en revanche, de l'occurrence d'une condition donnée (par exemple, le franchissement d'un seuil ou d'autres états de certaines entités) allume le panneau en définissant un effet visuel spécifique.

hypothèses

Pour la réalisation du présent projet nous supposons que:

Conditions météorologiques actuelles

Comme prévu, nous avons besoin d’une source d’informations connexes à l'état actuel des conditions météorologiques de notre région.

Comme on le sait, l’intégration à la plateforme «Dark Sky» nous permet de nous fournir les conditions météorologiques - ainsi que les prévisions - à partir de à partir d'une latitude / longitude spécifique rappmontrer la position géographique de notre environnement domotique.

Parmi les nombreuses entités générées par cette intégration, il en est une particulièrement utile à cette fin. projet, celui qui appoint signale les conditions météorologiques presque en temps réel. Cette entité est du type "Météo" et change de nom en fonction de la configuration de l'intégration.
Il suffit de chercher dans la liste des entités de Home Assistant pour le trouver facilement:

Home Assistant - Dark Sky - Météo générale

Nous assumerons, pour le moment projeté, que l’entité climatique à notre disposition s’appelle "weather.casamia».
De plus, nous utiliserons (en option) le capteur « sensor.casamia_cloud_coverage“, Une autre entité toujours générée par l'intégration de Dask Sky qui fournit le pourcentage de couverture du ciel.

Les conditions météorologiques étudiées peuvent être:

  • sunny (Ensoleillé)
  • clear-night (nuit claire)
  • rainy (Rainy)
  • snowy (Neigeux)
  • snowy-rainy (Sleet)
  • windy (Vent)
  • fog (Foggy)
  • cloudy (Nuageux)
  • hail (Grêle)
  • lightning (Foudre)
  • partly-cloud (partiellement nuageux)

Ce que nous allons faire, c'est définir une entité modèle qui - à partir des conditions ci-dessus - définit en elle-même le nom d'un profil "couleur" présent sur leapp Nanoleaf, pour l'utiliser ensuite lors de la définition de l'automatisation qui ajustera automatiquement le panneau Nanoleaf.

Nb Comme mentionné dans l’abrégé, l’utilisation de la plateforme Dark Sky ce n'est pas obligatoire: toute autre plate-forme météorologique est suffisante, à condition qu'elle fournisse les informations ci-dessus.

Nanoleaf

A ce stade, il faut aller presso l 'app Nanoleaf mobile et identifier quels sont les modèles "colore" da appLize en fonction de diverses conditions météorologiques (comment et quand on le verra plus tard).

Lorsque les combinaisons de couleurs présentes ne vous conviennent pas, il vous suffit de cliquer sur "Découvrir" en bas à gauche et d'effectuer une recherche dans la base de données collaborative Nanoleaf et d'ajouter à notre liste celles qui nous intéressent le plus et nous plaisent.

Nanoleaf App  3

inDomus a identifié une série de jeux de couleurs (que nous rapporterons dans l'exemple ci-dessous), idéals pour "mappsont "conditions météorologiques extérieures. Ce qui est important à savoir, c’est que, une fois la liste des palettes de couleurs définie, il est nécessaire ramenez-les dans la configuration en prenant soin de signaler leurs noms tels qu'ils sont écrits sur leapp, sous peine d'échecnamede l'automatisme que nous allons définir.

Dans l'image ci-dessus, par exemple, un jeu de couleurs s'appelle "Falling Whites".
Signaler le nom:

  • falling whites - ne fonctionne pas
  • Falling whites - ne fonctionne pas
  • falling Whites - ne fonctionne pas
  • Falling Whites - CELA FONCTIONNE

Ce sera donc le cas de ramener en configuration les noms écrits de manière à corretto.

Quelques motifs intéressants trouvés par inDomus:

Conditions météorologiquesNom du jeu de couleurs auapp Nanoleaf
ensoleilléSunny
Nuit claireStarry Night
pluvieuxRain
Milou / GrésilSnow Day
VentosoWindy Ocean
Brouillard*Solid*
Nuageux / Partiellement nuageuxCloudy
SaluerRain Shower
rez-Lightning

Définition du capteur

Comme mentionné, nous définirons un capteur de gabarit afin de définir automatiquement, lorsque les conditions changent, le profil corrigé par appau panneau. Ce choix vise à concentrer la logique de choix du profil de couleur dessus, afin de pouvoir utiliser sa sortie dans n'importe quel automation / scénario / scène.

Nous ajouterons ensuite à la configuration de Home Assistant un capteur ainsi défini:

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 %}

Le capteur que nous avons défini (appelé "sensor.nanoleaf_weather_based_effect") Contiendra dans prod'abord une chaîne rappportant le nom de l'un des profils de couleur précédemment identifiés en fonction des conditions météorologiques changeantes. Cette valeur changera automatiquement lorsque le statut du capteur changera "weather.casamia».

Il va sans dire que, évidemment, le régime proplacer les deux hautement personnalisable, à la fois dans la logique de appindication du jeu de couleurs à la fois dans les jeux de couleurs choisis.

Dans la dernière partie, une exception a été introduite: il a en fait été remarqué que Dask Sky tend à communiquer une condition «partiellement nuageux» même avec une faible présence de nuages. Si la condition communiquée est "partiellement nuageux" mais que la couverture nuageuse est inférieure à 40%, le capteur de gabarit utilise la proFil de couleur dédié aux beaux jours. De plus, après le coucher du soleil apptoujours le même profil ("Nuit étoilée").

Utilisation des prévisions

Personne ne nous oblige à utiliser nécessairement les conditions météorologiques actuelles. En fait, l’intention pourrait être d’afficher sur le panneau moins bien les conditions actuelles qu’elles ne le sont. les prévisions météo pour 12-24 heures. Eh bien: faire cela suffira - au lieu de "weather.casamia"- utilise une autre entité fournissant la prévision plutôt que la condition actuelle.

Restant dans la foulée de la mise en oeuvre de "Dark Sky", une entité utile pourrait être le capteur se terminant par le suffixe "_hourly_summary": A partir des états fournis par lui (attention, ceux-ci sont fournis dans la langue dans laquelle le proprio Home Assistant et pas nécessairement en anglais), il suffirait de personnaliser le capteur ci-dessus de manière adéquate, par exemple:

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 %}

automatisation

À ce stade, il est nécessaire de définir automation que prova voir à la gestion automatique dans leappidentification de l'effet lumiconnecté au panneau.

La chose plus simple et intuitif est de définir celui qui, lorsque le panneau est allumé, provoir appModifiez la palette de couleurs en fonction du climat en partant de la valeur d'état du capteur "sensor.nanoleaf_weather_based_effect"Qui, comme expliqué, proil se voit pour se valoriser.

L'automatisation est donc si facile à réaliser:

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 c’est évidemment le changement d’état du panneau en "on" ("on"), Aucun n'est présent condition (mais cela peut évidemment être un objet de personnalisation) alors que leaction prévoit l'utilisation du service light.turn_on qui est moins nécessaire lorsque le panneau est allumé - qui est déjà allumé - mais plutôt surappcation de l'effet de couleur dérivé du capteur de modèle défini précédemment (dernière ligne).

La chose intéressante est que l'automatisation est effectuée chaque fois que le panneau est allumé pas seulement de Home Assistant, mais aussi de son app ou même manuellement. La raison est simple: l'intégration de Nanoleaf signifie que Home Assistant connaître le statut et le statut du panneau, quelle que soit la méthode d'allumage, l'automatisation est toujours effectuée.

Utiliser comme moyen de notification

Au-delà du réglage automatique d'une palette de couleurs pour les conditions météorologiques, un panneau Nanoleaf peut également être utilisé comme un outil pour notifier certains événements lié à propremière domotique personnelle.

Comme, comme expliqué, il est possible de créer des schémas personnels proA priori (couleurs unies, lumières clignotantes, couleurs irisées, etc.), il est facile d’avoir le panneau allumé et d’afficher le jeu de couleurs susmentionné dans une situation donnée.

Supposons donc, par exemple, que nous avons intégré un Home Assistant de capteurs d'inondation (entité)binary_sensor.water_leak_sensor"), Une électrovanne pour interrompre l'afflux d'eau centrale (entité)switch.ACQUA") Et voulez définir une automatisation qui

  • arrêter l'écoulement de l'eau;
  • activer le panneau Nanoleaf sur le jeu de couleurs "Allagamento"(Nous supposons que c'est rouge, couleur unie).

L'automatisation pourrait être le suivant:

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 présence de l’automatisme qui configure le panneau, lorsqu’il est allumé, au schéma "couleur" relatif au climat ("automation.impostazione_nanoleaf_su_base_clima"), Il sera évidemment nécessaire de le désactiver temporairement lors de son exécution, sinon les deux automatisations entreraient en conflit.

L'automatisation résultante sera alors:

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 preuve les lignes ajoutées qui proils voient l'arrêt de l'automatisation "climatique", attendent trois secondes puis le réactivent.


Home Assistant Logo officielATTENZIONE: rappelez-vous qu'il y a sur notre communauté FORUM une section ad hoc dédiée à Home Assistantpour tout doute, question, information sur le mérite spécifique de ces composants.


Veuillez commenter ci-dessous