Pas de sens, c’est un contact.
Pour tes tests, tu peux juste alterner contact / pas contact en branchant 2 câbles Dupont sur l’entrée pour ne pas avoir à tirer de l’eau.
Ce devrait marcher : essaie de changer de gpio, de transfo (peut être l’alim pas bonne), d’esp32.
EDIT : oh punaise, honte à moi. J’ai pris un esp32 dans un placard qui avait des pins soudées… Mais seules les 4 premières étaient soudées et pas celles à partir de IO16 !!! Avec la soudure ça marche mieux !
maintenant pour les 50 derniers tirages je reste désespérément à 0L.
En revanche si je teste :
(outils de dev -->modele–> et j copie/colle :
states(‹ sensor.eau_froide_annuel ›)|float(0)*1000
HA répond : Ce modèle n’écoute aucun événement et ne se mettra pas à jour automatiquement.
Donc là je pense que le contenu de mon automation ne focntionne pas, pourtant j’ai fait un copié/collé du tuto !!!
Merci pour votre aide.
PS : j’ai bien des apostrophes et pas des < > à l’intéreiru des parenthèses. En validant mon message, les symboles sont changés !
J’avais un soucis depuis le début vec consommation_annuelle et consommation_annuel en tout début de tuto !
Certains paramètres ne sont plus les mêmes dans HA entre la date du tuto et auj.
Certes, il peut être créé dans le fichier de configuration YAML, mais Home Assistant permet l’utilisation de helper : aller dans Paramètres - Appareils et Services - Entrées puis créer un Compteur de Services appelé eau_froide_annuel.
ID de l’entité : eau_froide_annuel
Nom: consommation eau froide annuelle
Le capteur d’entrée est l’entité fournie par ESPHome consommation_eau_froide.
Le compteur sera remis à 0 chaque début d’année. Le cycle de remise à 0 est annuel.
Laisser les autres informations par défaut
Nul part on peut entrer le ID de l(entité quand on crée le helper !!!
Du coup eau_froide_annuel n’existe pas !
En revhance en mettant consommation eau froide annuelle dans l’automation ça fonctiàonne !!!
Salut,
Content que ça fonctionne correctement. Deux petites remarques néanmoins :
Les tutos sont parfois trompeur et souvent « vite » dépassés du aux évolutions rapides de HA. Les evol de HA sont à mon avis une bonne choses, et les tuto doivent être pris comme une source plus que comme une bible intangible
Il est possible de modifier les ID des entités créés par Helper. Mais uniquement après la création, et avec parcimonie, car une fois utilisé dans les automatisations ou autre, ce n’est pas évident de faire la chasse au ID modifié et qui ne fonctionne plus
Il me reste un pb avec le script envoyé sur l’esp je pense.
Mon compteur (gioanola) est un 1l par impulsion.
Chez moi la pression est pas énorme, donc il me faut plus de 5s pour avoir une impulsion (enfin le temps que l’aiguille fasse le tour)
Donc avec le script d’origine, le nombre de litres d’eau est bien correct, en revanche j’ai toujours 0 en débit; donc aucun automation ne fonctionne.
En mettant 20s au lieu de 5s, le debit retourné n’est plus égal à 0.
J’ai modifié le programme pour faire clignoter la led interne à chaque impulsion, et le code fonctionne bien : à chaque passage de l’aiguille sur le compteur, la led clignote, une impulsion est bien détectée
esphome:
name: esp-eau
friendly_name: esp-eau
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "CVhrn27ot57jybcL6BQ1l26rIIjPdURidS5UUZHDWYo="
ota:
- platform: esphome
password: "d75b300f322d07f83e6122c742b3e10b"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esp-Eau Fallback Hotspot"
password: "YkS06g0usSiM"
captive_portal:
globals:
# Variable interne pour compter nombre litres
- id: ef_compteur_litres
type: float
initial_value: "0"
binary_sensor:
# comptage du nombre de litres : 1 impulsion ajoute 0.25 (compteur 0.25 / litre)
- platform: gpio
id: ef_pulse
pin:
number: GPIO16
allow_other_uses: true
mode: INPUT_PULLUP
inverted: True
filters:
- delayed_on: 50ms
- delayed_off: 50ms
on_press:
then:
- lambda: |-
id(ef_compteur_litres) += 1;
id(ef_compteur_m3).publish_state(id(ef_compteur_litres)/1000);
- output.turn_on: led_internal
- delay: 200ms
- output.turn_off: led_internal
sensor:
# Débit d'eau instantané (0 après 10s)
- platform: pulse_meter
name: "Debit eau froide"
pin:
number: GPIO16
inverted: true
allow_other_uses: true
mode:
input: true
pullup: true
internal_filter: 100ms
icon: mdi:water
timeout: 20s
unit_of_measurement: 'l/mn'
# Comptage en m³
- platform: template
name: "Consommation eau froide"
id: ef_compteur_m3
unit_of_measurement: 'm³'
accuracy_decimals: 5
state_class: total_increasing
device_class: water
# Permet de mesurer que le signal wifi est suffisant
- platform: wifi_signal
name: "Signal"
update_interval: 10min
unit_of_measurement: dB
accuracy_decimals: 0
force_update: false
icon: mdi:wifi
text_sensor:
# Info adresse IP
- platform: wifi_info
ip_address:
name: "adresse IP"
update_interval: 60min
switch:
# Switch permettant de redémarrer ESP
- platform: restart
name: "esp_eau_reboot"
output:
# Déclaration de la LED interne de l'ESP32
- platform: gpio
id: led_internal
pin: GPIO2
Bonjour,
Je suis à mon tour en train d’installer un esp8266 couplé à une turbine effet hall.
Après de multiples essais les données ne sont pas fiables, si une personne a une idée je suis preneur car je tourne un peu en rond là…
Merci par avance!
Le dernier code testé:
substitutions:
name: esp-compteur-eau
friendly_name2: "Compteur EF"
friendly_name5: "ESP Compteur EF"
esphome:
name: ${name}
platform: ESP8266
board: esp01_1m
# Boards tested: ESP-01S (ESP8266), Wemos D1 Mini (ESP8266); ESP32 Wifi-DevKit2
# Enable logging
logger:
# ESP8266 only - disable serial port logging, as the HeatPump component
# needs the sole hardware UART on the ESP8266
baud_rate: 0
# Enable Home Assistant API
api:
#encryption:
#key: !secret api_key
# Allow Over-The-Air updates
ota:
- platform: esphome
# Optional manual IP
#manual_ip:
#static_ip: 192.168.1.145
#gateway: 192.168.1.254
#subnet: 255.255.255.0
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
power_save_mode: none
# Enable Web server.
web_server:
port: 80
# Sync time with Home Assistant.
time:
- platform: homeassistant
id: homeassistant_time
# Text sensors with general information.
text_sensor:
# Expose ESPHome version as sensor.
- platform: version
name: ${name} ESPHome Version
# Expose WiFi information as sensors.
- platform: wifi_info
ip_address:
name: ${name} IP
ssid:
name: ${name} SSID
bssid:
name: ${name} BSSID
# Sensors with general information.
#sensor:
# Uptime sensor.
#- platform: uptime
# name: ${name} Uptime
# Create a button to restart the unit from HomeAssistant. Rarely needed, but can be handy.
button:
- platform: restart
name: "Restart ${friendly_name}"
# Programme eau
globals:
- id: ef_pulse_counter
type: float #Le counter n'est pas integer car il sert aussi pour la division m3
initial_value: "0"
#################
# Binary Sensor #
#################
# binary sensor comptage impulsion eau froide
binary_sensor:
##############
# EAU FROIDE #
##############
- platform: gpio
pin:
number: GPIO13
allow_other_uses: true
mode: INPUT_PULLUP
inverted: True
filters:
- delayed_on: 50ms
- delayed_off: 50ms
name: "${friendly_name2} counter state"
id: ef_counter_state
on_press:
then:
- lambda: |-
// increment le compteur EF puis publish mqtt
id(ef_pulse_counter) += 1;
id(ef_counter_pulse).publish_state(id(ef_pulse_counter));
id(ef_counter_l).publish_state(id(ef_pulse_counter)/0.25);
id(ef_counter_m3).publish_state(id(ef_pulse_counter)/0.00025);
## Status ESP connexion
- platform: status
name: ${friendly_name5} status
#####################################################
# sensor #
#####################################################
sensor:
#####################################################
# EAU FROIDE #
# Débit d'eau instantané (0 après 10s) #
# Ne pas utiliser pour comptage (comptage erroné) #
#####################################################
- platform: pulse_meter
name: "${friendly_name2} pulse"
id: pulse_id_ef
pin:
number: GPIO13
allow_other_uses: true
inverted: true
mode:
input: true
pullup: true
internal_filter: 100ms
icon: mdi:water
timeout: 100s
unit_of_measurement: 'l/mn'
filters:
- multiply: 0.25
# Comptage impulsion
- platform: template
name: "${friendly_name2} counter pulse"
id: ef_counter_pulse
unit_of_measurement: ''
accuracy_decimals: 0 # Précision en entiers
icon: "mdi:counter"
#update_interval: 5s # Mise à jour sur changement de valeur
# Comptage litres
- platform: template
name: "${friendly_name2} counter l"
id: ef_counter_l
unit_of_measurement: 'L'
accuracy_decimals: 0 # Précision en entiers
state_class: total_increasing
device_class: water
# Comptage m³ (utilisé pour le compteur services HA)
- platform: template
name: "${friendly_name2} counter m3"
id: ef_counter_m3
unit_of_measurement: 'm³'
accuracy_decimals: 3 # Précision en entiers
state_class: total_increasing
device_class: water
tu as mis le code pour un compteur de 0.25 l par impulsion es tu certain de cette caractéristique
Moi j’ai les deux et voici le code pour le compteur à effet de hall avec comme Caractéristiques d’impulsion d’écoulement: (6.6 * Q)Q = L/Min ± 3%. donc 6.6*60 = 396.
Le compteur utilisé est la référence YF-B5 dont effectivement d’après la doc technique donné pour 396 pulses/ litre mais une fois le volume mesuré était juste mais les autres mesures ne l’étaient pas donc je suspectais une erreur à un autre endroit.
Je fais refaire qq tests avec le 396 alors pour voir…
Merci @Sweepy et @vail34070, on va pouvoir préciser ce code dans l’article pour les compteurs à effet hall.
L’énorme avantage des articles sur les tutos YouTube est que l’on peut les mettre mettre à jour…
Hello Merci @Sweepy et @vail34070,
J’ai rajouté le code pour le scompteurs à effet hall en modifiant les noms de variables pour pouvoir utiliser la suite du tuto.
Pouvez vous vérifier que c’est bon ?
Pour info, je n’utilisais pas de pulse meter car il ne donnait pas de bons résultats. Vous confirmez que c’est bon avec un compteur à effet hall qui produit plus d’impulsions ?
Merci @Argonaute pour ce super tuto. Il n’y a qu’à dérouler.
J’ai également un Gioanola 1 L/impulsion. J’ai fait les 2 modifications dans re code de l’ESP pour l’intégrer (et non celui à 0.25L/impulsion).
Par contre comme @David_Marlinge le nombre de litre est correct mais en revanche le débit, l’usage/h et les derniers tirages restent à 0.