Bonjour,
L'objectif est de mesurer le niveau d'eau dans un puits et d'afficher la hauteur d'eau dans Home Assistant avec deux alertes pour les niveaux bas et haut.
A) Le matériel
1) Une sonde pressostatique qui permet mesurer le niveau d’eau en fonction de la pression exercée par la colonne d’eau au-dessus du capteur. Ce principe repose sur la relation entre la hauteur d'eau et la pression hydrostatique qu'elle génère.
La pression exercée au fond d’un récipient par un liquide est proportionnelle à la hauteur de ce liquide. Cette pression est donnée par la formule : P=ρ x g x h
P est la pression (en Pascals, Pa),
ρ est la densité du liquide (en kg/m³, pour l’eau : ρ=1000),
g est l'accélération gravitationnelle (9,81 en m/s²),
h est la hauteur de la colonne d’eau (en mètres)
Pour choisir la sonde il faut considérer la hauteur maximale du niveau d'eau qui doit être le plus proche possible du "range" et également le type de sortie (4-20 mA, 0-10V,..).
Je ne souhaitais pas utiliser Home Assistant pour effectuer des conversions et dans ce domaine les possibilités de l'ABA/1.2.1 sont limitées ; j'ai donc choisi une 1m Range avec 5 mètres de câble (le puisard qui recueille de l'eau de source fait 3,50 m de profondeur et je limite la hauteur d 'eau à 1 m (pour ne pas inonder le sous-sol) et une sortie 0-10 v pour ne pas avoir à compenser le -4 mA.
A noter que dans le câble de la sonde (cf. photo ci-dessous) il y a un tuyau de ventilation pour équilibrer la pression à l'intérieur de la sonde avec la pression atmosphérique extérieure. Sans cette compensation, la mesure du niveau d'eau pourrait être faussée par la pression atmosphérique ambiante.
2) Une alimentation 24 V DC pour alimenter la sonde
Je souhaitais un modèle clipsable sur rail DIN.
(je ne mets pas les liens Ali express et Amazon car ils sont trop éphémères)
3) Un module d'entrée analogique 0-10 V
J'ai choisi le Zennio Minibox 0-10 V à 132 € chez Light & Domotique
B) Le câblage
C) ETS
1) Paramétrage de l'entrée analogique du Zennio
2) Les adresses de groupes
Il y 3 GA, 7/3/0 avec l'objet "Seuil inférieur", 7/3/1 avec l'objet "Seuil supérieur" et 7/3/2 avec l'objet "Valeur mesurée" (cf. copie d'écran). Je n'utilise pas pour l'instant les valeurs des seuils au format 1 byte (j'ai coché l'option dans la configuration uniquement pour montrer les objets)
D) Home Assistant
1) La carte dans le Dashboard
A noter sur les cartes la flèche de tendance qui s'affiche en bas du graphique de hauteur d'eau et qui permet de savoir si la dernière valeur a augmenté ou diminué par rapport à la précédente (la flèche est dirigée vers le haut si la valeur a augmenté et vers le bas si elle a diminué). Si la valeur reste stable pendant un certain temps, la flèche disparaît.
2) Le code
- Dans le fichier binary_sensor.yaml
- Dans le fichier sensor.yaml
- La carte du puits :
- La carte du niveau bas
- La carte du niveau haut
- La carte complète
J'ai également une carte plus compacte pour ma page d'accueil.
L'objectif est de mesurer le niveau d'eau dans un puits et d'afficher la hauteur d'eau dans Home Assistant avec deux alertes pour les niveaux bas et haut.
A) Le matériel
1) Une sonde pressostatique qui permet mesurer le niveau d’eau en fonction de la pression exercée par la colonne d’eau au-dessus du capteur. Ce principe repose sur la relation entre la hauteur d'eau et la pression hydrostatique qu'elle génère.
La pression exercée au fond d’un récipient par un liquide est proportionnelle à la hauteur de ce liquide. Cette pression est donnée par la formule : P=ρ x g x h
P est la pression (en Pascals, Pa),
ρ est la densité du liquide (en kg/m³, pour l’eau : ρ=1000),
g est l'accélération gravitationnelle (9,81 en m/s²),
h est la hauteur de la colonne d’eau (en mètres)
Pour choisir la sonde il faut considérer la hauteur maximale du niveau d'eau qui doit être le plus proche possible du "range" et également le type de sortie (4-20 mA, 0-10V,..).
Je ne souhaitais pas utiliser Home Assistant pour effectuer des conversions et dans ce domaine les possibilités de l'ABA/1.2.1 sont limitées ; j'ai donc choisi une 1m Range avec 5 mètres de câble (le puisard qui recueille de l'eau de source fait 3,50 m de profondeur et je limite la hauteur d 'eau à 1 m (pour ne pas inonder le sous-sol) et une sortie 0-10 v pour ne pas avoir à compenser le -4 mA.
A noter que dans le câble de la sonde (cf. photo ci-dessous) il y a un tuyau de ventilation pour équilibrer la pression à l'intérieur de la sonde avec la pression atmosphérique extérieure. Sans cette compensation, la mesure du niveau d'eau pourrait être faussée par la pression atmosphérique ambiante.
2) Une alimentation 24 V DC pour alimenter la sonde
Je souhaitais un modèle clipsable sur rail DIN.
(je ne mets pas les liens Ali express et Amazon car ils sont trop éphémères)
3) Un module d'entrée analogique 0-10 V
J'ai choisi le Zennio Minibox 0-10 V à 132 € chez Light & Domotique
B) Le câblage
C) ETS
1) Paramétrage de l'entrée analogique du Zennio
2) Les adresses de groupes
Il y 3 GA, 7/3/0 avec l'objet "Seuil inférieur", 7/3/1 avec l'objet "Seuil supérieur" et 7/3/2 avec l'objet "Valeur mesurée" (cf. copie d'écran). Je n'utilise pas pour l'instant les valeurs des seuils au format 1 byte (j'ai coché l'option dans la configuration uniquement pour montrer les objets)
D) Home Assistant
1) La carte dans le Dashboard
A noter sur les cartes la flèche de tendance qui s'affiche en bas du graphique de hauteur d'eau et qui permet de savoir si la dernière valeur a augmenté ou diminué par rapport à la précédente (la flèche est dirigée vers le haut si la valeur a augmenté et vers le bas si elle a diminué). Si la valeur reste stable pendant un certain temps, la flèche disparaît.
2) Le code
- Dans le fichier binary_sensor.yaml
Code :
#################################
# Puisard #
#################################
- name: puisard_alarme_niveau_bas
state_address: "7/3/0"
- name: puisard_alarme_niveau_haut
state_address: "7/3/1
- Dans le fichier sensor.yaml
Code :
############################
#Puisard
####################
- name: puisard_hauteur_eau
state_address: "7/3/2"
type: "percent"
- La carte du puits :
Code :
type: custom:bar-card
entities:
- entity: sensor.puisard_hauteur_eau
positions:
icon: "off"
name: "off"
value: inside
unit_of_measurement: cm
target: 1000
direction: up
height: 300px
severity:
- color: "#ff6b00"
from: 0
to: 15
- color: "#0d6e79"
from: 16
to: 45
- color: "#ee1010"
from: 46
to: 100
- La carte du niveau bas
Code :
type: custom:button-card
state:
- value: "on"
color: red
icon: mdi:hydraulic-oil-level
styles:
icon:
- animation:
- blink 1s linear infinite
- value: "off"
color: null
entity: binary_sensor.puisard_alarme_niveau_bas
icon: mdi:hydraulic-oil-level
name: Niv Bas
- La carte du niveau haut
Code :
type: custom:button-card
state:
- value: "on"
color: red
icon: mdi:hydraulic-oil-level
styles:
icon:
- animation:
- blink 1s linear infinite
- value: "off"
color: null
entity: binary_sensor.puisard_alarme_niveau_haut
icon: mdi:hydraulic-oil-level
name: Niv. Haut Puits
- La carte complète
Code :
type: horizontal-stack
cards:
- type: custom:bar-card
entities:
- entity: sensor.puisard_hauteur_eau
positions:
icon: "off"
name: "off"
value: inside
unit_of_measurement: cm
target: 1000
direction: up
height: 300px
severity:
- color: "#ff6b00"
from: 0
to: 15
- color: "#0d6e79"
from: 16
to: 45
- color: "#ee1010"
from: 46
to: 100
- type: vertical-stack
cards:
- type: custom:button-card
state:
- value: "on"
color: red
icon: mdi:hydraulic-oil-level
styles:
icon:
- animation:
- blink 1s linear infinite
- value: "off"
color: null
entity: binary_sensor.puisard_alarme_niveau_haut
icon: mdi:hydraulic-oil-level
name: Niv. Haut
- type: custom:button-card
state:
- value: "on"
color: red
icon: mdi:hydraulic-oil-level
styles:
icon:
- animation:
- blink 1s linear infinite
- value: "off"
color: null
entity: binary_sensor.puisard_alarme_niveau_bas
icon: mdi:hydraulic-oil-level
name: Niv Bas
title: Hauteur d'eau dans le puits
J'ai également une carte plus compacte pour ma page d'accueil.
Code :
type: vertical-stack
cards:
- type: markdown
content: >
<span style="font-size: 16px; font-weight: bold;">Hauteur d'eau dans le
puits et alarmes</span>
- type: horizontal-stack
cards:
- type: custom:bar-card
entities:
- entity: sensor.puisard_hauteur_eau
positions:
icon: "off"
name: "off"
value: inside
unit_of_measurement: cm
target: 1000
direction: up
height: 50px
severity:
- color: "#ff6b00"
from: 0
to: 15
- color: "#0d6e79"
from: 16
to: 45
- color: "#ee1010"
from: 46
to: 100
- type: custom:button-card
state:
- value: "on"
color: red
icon: mdi:hydraulic-oil-level
styles:
icon:
- animation:
- blink 1s linear infinite
- value: "off"
color: null
entity: binary_sensor.puisard_alarme_niveau_haut
icon: mdi:hydraulic-oil-level
name: Niv. Haut Puits
- type: custom:button-card
state:
- value: "on"
color: red
icon: mdi:hydraulic-oil-level
styles:
icon:
- animation:
- blink 1s linear infinite
- value: "off"
color: null
entity: binary_sensor.puisard_alarme_niveau_bas
icon: mdi:hydraulic-oil-level
name: Niv Bas Puits