You are currently viewing Capteur de distance à ultrason (pellet, adoucisseur, cuve…) pour votre domotique Jeedom

Capteur de distance à ultrason (pellet, adoucisseur, cuve…) pour votre domotique Jeedom

tags : Jeedom ultrason pellet adoucisseur cuve

0. Contexte

Hello a tous, voici mon premier tuto (soyez indulgent 🙂 ).

Le but de ce tuto est de connaitre le niveau d’une cuve X ou Y ca peux aller de la cuve d’eau de pluie a la cuve de votre poêle a pellet en passant par votre cuve de sel d’adoucisseur et j’en passe 🙂 bref vous l’aurais compris avoir un résultat en centimètre ou en pourcentage !

Pour ce faire nous utiliserons un ESP8266 et comme capteur ultrason un HC-SR04 avec cables dupont ( si vous voulez une box dans un soucis d’esthétique voici un petit lien )

1. Flash de l’ESP sous espeasy

Bien évidement nous allons flasher notre ESP sous ESPEASY

Il existe de nombreux tuto sur le net mais aller c’est cadeau : Flash ESP

2. Câblage du capteur ultrason

Pour le câblage du capteur rien de plus simple :

Sur votre capteur il a 4 PINs :

Les deux premiers PINs sont des pour l’alimentation. le capteur étant en 5V, j’ai donc pris GND et Vin (en bas à gauche sur l’image ci-dessous). Les deux autres PINs sont à choisir parmi les PINs GPIO afin de récupérer les mesures du capteur. J’ai donc choisi D6 (GPIO12) et D7 (GPIO13). Le câblage donne donc

ESP8266 VIN -> HC-SR04 VCC

ESP8266 Gnd -> HC-SR04 Gnd

ESP8266 D6 -> HC-SR04 Trig

ESP8266 D7 -> HC-SR04 Echo

3. Configuration du capteur sur l’ESP 8266

Apres réalisé le câblage et allumé l’ESP (c’est mieux 😅), passons a la configuration

en tapant l’ip de votre ESP dans votre navigateur (précédemment récupérer pendant le flash) et après l’avoir mis en bail statique sur votre routeur

Ce rendre sous l’onglet DEVICE puis ADD sur la task 1 pour ajouter le capteur:

device : Position - HC-SR04, RCW-0001, etc.

//sur la nouvelle page
__________________________
//Task Settings
Name : distance
Enable : ( a cocher)
__________________________
//Sensor
GPIO => Trigger : GPIO-12-D6
GPIO => Echo,5V : GPIO-13-D7
__________________________
//Device Settings
Mode : Value
Max Distance : (votre hauteur max de cuve en cm (pour ma part la mienne fait 40))
Unit : Metric
Filter : None
__________________________
//Data Acquisition
Single event with all values: non coché
Send to Controller : ( a cocher)
Interval: 60 (secondes)
__________________________
//Values
Name : Distance
Formula : (ne rien écrire)
Stats: non coché
Decimals : 2
__________________________

&& submit 🙃

une fois le paramétrage terminé vous devriez avoir la remonté de la mesure sous l’onglet device

⚠️ bien prendre en compte que c’est la distance entre le haut de la cuve et le contenu donc ici il a 3,7 centimètre de « vide » nous allons le transformer en pourcentage après sous Jeedom 😉

4. Remonter des informations sous Jeedom

télécharger le plugin : ESP EASY ( gratuit)

Activer le et récupérer ( dans la partie configuration )

IP Controleur à saisir dans ESPeasy (onglet config) : XXX.XXX.XXX.XXX
Port Controleur à saisir dans ESPeasy (onglet config) : 8121
Publish template à saisir dans ESPeasy (onglet tools, puis bouton advanced) :device=%sysname%&taskid=%id%&cmd=%valname%&value=%value%

Ce rendre sous l’onglet Controllers puis ADD sur la task 1 pour ajouter Jeedom :

Protocol : Generic HTTP
__________________________
//Controller Settings
Locate Controller: Use IP address
Controller IP: (l'IP de votre jeedom (voir l'onglet config du plugin ESPEASY)
Controller Port: 8121
__________________________
//Controller Queue
Minimum Send Interval: 100
Max Queue Depth: 10 	
Max Retries: 10
Full Queue Action: ignore new	
Allow Expire:	(non coché)
De-duplicate:	(non coché)
Check Reply: Ignore Acknowledgement	
Client Timeout:  100
__________________________
//Credentials
Use Extended Credentials: (non coché)
Controller User: (vide)	
Controller Password: (vide)	
Controller Subscribe: (vide)	
Controller Publish: (Publish template (voir l'onglet config du plugin ESPEASY)
Enabled: (coché)
__________________________
&& submit 🙃

ettttttt boumm de Laurent Rigal (pour ceux qui auront la ref le dimanche midi a 14H sur la chaine canal + sport)

ca remonte sous Jeedom 😜

j’ai ajouté le load du (cpu) et l’uptime aussi (facultatif) 🙃

5. Montage dans le poêle

5. Transformation de la distance via un virtuel

Comme vu précédemment nous avons la distance de vide entre le haut de la cuve et le haut du contenu

Mais ce qui nous intéresse c’est d’avoir le résultat en % du taux de remplissage non ?

Pour cela il faut dans un virtuel ajouter une info virtuel

nome de l'info : niveau_cuve
Valeur : (35-#[Id de la commande(distance)du plugin ESPEASY][Distance]#)*100/35

Vous verrez ici que j’ai volontairement mis 35 cm au lieu de 40 afin d’avoir une petite marge de sécurité (car j’utilise ca sur mon pellet et la cuve est en biseau 🤷‍♂️ (libre a vous d’adapté ce 35 en debut et fin de calcul avec votre hauteur de cuve))

J’ai également fait une information si ma cuve est inférieur a 30% et une seconde si < a 10% ( pour un scénario nous le verrons plus bas)

6. ScenarioS

6.1 allumage_poele_a_pellet

Le premier scenario est la verification que tout mes ouvrants soient bien fermés puis verification que le niveau soit bien supérieur a 10% (oui j’aurais pu prendre l’information de niveau_cuve (mais non pas envie ^^)

si le niveau est bien supérieur a 10% alors le poêle s’allume et lance le scénario (verification_niveau_bas_poele_a_pelet) et une commande SMS qui me notifie que le démarrage est en cours uniquement si nous ne sommes pas a la maison

si nous sommes present dans la maison le HomePod parlera et dira :

Démarrage du poêle en cours, niveau de la cuve #[salle a manger][infos poêle a pellets][niveau_cuve]# %

a contrario si la cuve n’est pas supérieur a 10% (donc inférieur bien joué 🤝)

si nous sommes present dans la maison le HomePod parlera et dira :

Niveau de pellet bas démarrage du poelle impossible

et nous recevrons un sms si nous ne somme pas present et désactivera le scenario (verification_niveau_bas_poele_a_pelet)

6.2. verification_niveau_bas_poele_a_pelet

Ce 2nd scenario vérifie le niveau de la cuve lorsque le poêle est en fonctionnement

Si le niveau de la cuve est inférieur a 10% le HomePod parlera et dira :

Niveau de pellet bas inférieur a 10%

Le scenario attendra 3 min avant de me relancer via le HomePod + SMS si la cuve est toujours inférieur a 10%

Puis dans les 5 minutes suivante il me relancera encore via HomePod + SMS si la cuve est toujours inférieur a 10%

et pour terminer après 3 minutes si la cuve est toujours inférieur a 10% il arrêtera la poêle et me notifiera de son extinction

bienjoué a toi jeune mathématicien 👨🏻‍🔬 j’ai donc 11 minutes pour remettre du pellets (car il consomme 10% en 15min en vitesse 3)

Ce 2nd scenario a aussi pour but d’automatiser l’arrêt du poêle car (sur mon poêle) si l’arrêt ce fait a cause du manque de pellet je suis obligé de le rallumer manuellement la prochaine fois (le comble pour une maison automatisé 😆)