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)…
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
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