Willkommen hier bei uns und ein interessantes Projekt!
1 „Gefällt mir“
Herzliches Willkommen auch von mir.
Klasse Projekt, werde mir das mal näher ansehen.
1 „Gefällt mir“
Ich habe gerade ein sehr ähnliches Projekt fertig bekommen, der gleiche Sensor, aber dann mit einem “D1 Mini ESP32” und einem selbstkonstruierten und gedruckten Gehäuse.
Das ganze lebt von einem USB-C Netzteil und läuft über ESPHome mit Webserver und direkter Einbindung in Home Assistant.
Material zusammensuchen …
… nur 3 einfache Lötstellen
… Test mit offenem Gehäuse
… und fertig zusammengebaut
Der Quellcode für ESPHome ist nicht sehr lang
substitutions:
device_name: yf-b5-flowsensor
friendly_name: "Durchflusssensor YF-B5"
esphome:
name: ${device_name}
friendly_name: ${friendly_name}
esp32:
board: wemos_d1_mini32
framework:
type: arduino
# WLAN-Konfiguration
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "${friendly_name} Fallback"
password: !secret ap_password
captive_portal:
# Home Assistant API
api:
encryption:
key: !secret api_encryption_key
ota:
- platform: esphome
password: !secret ota_password
logger:
# Webserver – direkt im Browser aufrufbar unter http://yf-b5-flowsensor.local
web_server:
port: 80
version: 3
# -------------------------------------------------------
# YF-B5 Durchflusssensor
# Anschluss: Signalleitung an GPIO4
#
# Technische Daten YF-B5:
# Durchflussformel: F (Hz) = 6,6 × Q (l/min)
# → Impulse pro Liter: 6,6 × 60 = 396 Impulse/Liter
# -------------------------------------------------------
button:
- platform: template
name: "Gesamtvolumen zurücksetzen"
icon: "mdi:restore"
on_press:
- lambda: 'id(flow_sensor).set_total_pulses(0);'
sensor:
# Aktueller Durchfluss in Liter/Minute
- platform: pulse_meter
id: flow_sensor
pin:
number: GPIO4
mode:
input: true
pullup: true
name: "Durchfluss"
unit_of_measurement: "l/min"
icon: "mdi:water-flow"
device_class: volume_flow_rate
state_class: measurement
accuracy_decimals: 2
# YF-B5: 396 Impulse pro Liter → 396/60 = 6,6 Impulse pro Sekunde pro l/min
filters:
- multiply: 0.15152 # 1 / 6,6 = 0,15152 → Impulse/s → l/min
# Timeout: Wenn 5 Sekunden keine Impulse → Durchfluss = 0
timeout: 5s
total:
name: "Gesamtvolumen"
unit_of_measurement: "l"
icon: "mdi:water"
device_class: water
state_class: total_increasing
accuracy_decimals: 1
# 396 Impulse = 1 Liter → 1 Impuls = 1/396 Liter
filters:
- multiply: 0.002525 # 1 / 396
Erster Flash per USB-Kabel, jetzt kann man aber über Wifi per OTA nachflashen.
4 „Gefällt mir“
Danke für’s teilen!



