Piloter la couleur d'une entité "Light" par un autre sensor

Bonjour… Trop Content, j’ai un peu galéré, alors, je partage, pour si qqun sait mieux faire, ou pour aider, au cas ou
Objectif : Créer (en mode DIY) un supervisieur de congélateur (mesure température, LED de statut et mini écran
Matériel : NodeMCU (Tasmota) , écran mini Oled 0.9" 128x32 i2C, sonde DS18B20, « Pixel » WS2812, et mon custom PCB nodemcu IOT breakout (NodeMCU-CustomPCB_G -v3.03 - EasyEDA open source hardware lab),
quelques accessoires : cable PLAT pour passer sous le joint (flex récupéré dans un ancien lecteur de disquette LOL) , micro USB breakout connector et boite en plastique Aliexpress

coté soft : Home assistant qui tourne sur un NAS OMV 4 (DiY core i5 750) dans UN DOCKER (avec tous ses 17 autres copains containers)

Tout d’abord flasher le NodeMCU avec un BIN Tasmota build custom (nécessaire pour avoir A LA FOIS, les librairies Display, sensors température, Home assistant, webserver et WS2812 (GitHub - benzino77/tasmocompiler: Web GUI for custom Tasmota compilation), on en profite pour mettre en dur le Wifi)

une fois le nodemcu accessible, un peu de paramétrage : MQTT, quelques déclarations de config sur les pins utilisés (standard pour moi avec mon shield IOT), configuration de l’écran : Adress 60 (=0x3c ; Displaymodel 2 ; Displaywidth 128 ;DisplayHeight 32 ; Displayfont 1) ( Commands - Tasmota est ton ami)
puis la commande magique : « backlog Rule1 on DS18B20#Temperature do displaytext [zl1c2]%value%C endon;rule1 on »
le bidule estvisible sur l’intégration tasmota avec le sensor temperature, et des entitées lumieres pour activer l’écran et le pixel (nota chez moi, bug, les controles couleur du pixel sont reliées au switch « display »,…bizarre
…bref… maintenant l’automatisation dans HA pour le contrôle de la couleur du pixel selon la
température

  • Un sensor « Template » conditionnel qui contient la couleur (Blue/green/yellow/red) calculée suivant les seuils
  - platform: template
    sensors:
      couleur_congel: 
        friendly_name: Couleur Pixel alarme Congelateur
        unique_id: template_couleur_congel
        value_template: >-
          {% if states('sensor.n185_ds18b20_temperature')|float < -11 %}
            blue
          {% elif  states('sensor.n185_ds18b20_temperature')|float < -9 %}
            green
          {% elif  states('sensor.n185_ds18b20_temperature')|float < -6 %}
            yellow
          {% else %}
            red
          {% endif %}

(je retire l’ancienne version : Un automatisation « Time based » qui, toute les 2 minutes … )
=> avec une nouvelle version basée sur la un changement d’état « plateform state » de la couleur , plus élégant
du trigger qui actionne le service « light.on » avec le data_template:

alias: congel_pixel_color
description: pilote la couleur du pixel sur changement de valeur
trigger:
  - platform: state
    entity_id: sensor.couleur_congel
condition: []
action:
  - service: light.turn_on
    entity_id: light.n185_display
    data_template:
      color_name: '{{states(''sensor.couleur_congel'') }}'
mode: single

en tout cas, ça marche (chez moi)… :thumbsup:

et quelques visuels. . .
quelques visuels : le PCB Maison « Tasmota IOT » (pas indispensable mais tres pratique quand meme)

le capteur DS18B20 DANS le congélateur (note : c’est les pizza qui sont a l’envers):

Le boitier et son cablage

Autre vue a vec les composants utilisés :

L’intégration HA sur le Floorplan sur une tablette murale fixe

floorplan

Pour ceux qui sont intéressé par le PCB :

il n’y a vraiment rien de sorcier, je ne soude que les compo/connecteurs nécessaire a chaque projet
(ici le sensor dallas sur D5, I2C sur D1 et D2 et un ws2812 sur D4 (cf screen de la config dans tasmota)

le projet est ouvert dans Easy EDA et vous pouvez récuperer plans, docs et gerber pour commander votre propre PCB

1 « J'aime »

Merci @YvanLeTerrible pour ce partage.
Aurais-tu des photos pour présenter les différentes parties (installation dans le congélateur, boitier, etc) ? Je pense que cela aidera à mieux comprendre et à s’imaginer aussi l’installation :wink:

Hésite pas a éditer ton premier post

la honte pour moi, je sais pas faire mettre le code en mise en forme de code…
ça fait tellement plus classe

tu veux dire rajouter les photos au premier post ?

Dis toi que c’est du markdown ici.

Pour mettre le code c’est soit ` moncode` ou pour un texte de code.

``` mon texte de code super long```

Oui c’est cela édité ton premier post

  1. Colle ton code
  2. Sélectionne le
  3. Appuis sur l’outil dédié :

C’est tout :+1: