"I am impressed by the accuracy of the WaterFlowKit. Tracking both water usage and temperature per tap gives great insight into our consumption."
This smart kit can be easily connected to an existing faucet or pipeline, allowing you to monitor water usage accurately, including the temperature of the flowing water. This gives you complete control over water temperature and enables you to simultaneously measure the temperature and humidity of the surrounding environment. A convenient addition to your household for more mindful water management.
Discover the WaterFlowKit: A carefully crafted Dutch creation, fully developed and designed for your needs.
Specially designed for Home Assistant & ESPHome: The WaterFlowKit is specifically designed to seamlessly integrate with Home Assistant & ESPHome
New in V2: support for up to 4 flow sensors and an Ethernet (UTP) connection with PoE power.
WaterFlowKit V2
One controller for multiple measurement points
A quick selector for the right WaterFlowKit sensor. Full technical specifications are further down the page.
Robust & versatile
Hygienic & durable
From small tap points to larger main lines. Use this overview for a quick first selection, then continue to the specifications for full details.
Kitchen faucet, bathroom faucet
Shower, washing machine
Boiler, main supply
Main supply, garden irrigation
House connection, commercial
Whether it's your kitchen faucet, bathroom faucet, or any other water supply — monitor water consumption in real-time with up to 4 flow sensors per kit, available in 5 pipe sizes (G1/2" to G2") in Brass and Stainless Steel. Track water temperature per sensor, plus ambient temperature and humidity.
Measure water consumption and temperature while cooking and washing dishes. See exactly how many liters you use daily.
Measure hot water temperature and consumption at the kitchen tap. See exactly how much hot water you use daily.
Usage + temperature
Usage + temperature
Usage per cycle
Hot water + temperature
The WaterFlowKit is designed with easy installation in mind. Just follow these steps to get started quickly: Choose the water supply line where you want to install the kit. This can be the kitchen faucet, bathroom faucet, or any other water source. Attach the included flow sensors to the chosen pipeline. You have the flexibility to connect up to 4 sensors to monitor different points in your home, with 5 pipe sizes available (G1/2" to G2") in Brass or Stainless Steel. Connect the WaterFlowKit to your Home Assistant system via WiFi or Ethernet and configure your Home Assistant dashboard to display real-time data from the WaterFlowKit. Now you can track your water consumption and temperature and even set up notifications for specific thresholds. With this simple installation, you'll be ready to monitor your water usage and make your home smarter in no time.
Choose the water line where you want to install the kit. Kitchen faucet, bathroom faucet or any other water supply.
Attach the included flow sensors to the chosen pipeline. Connect up to 4 sensors to monitor different points.
Connect via WiFi or Ethernet and configure your dashboard. Monitor water usage and set up notifications.
Enhance your Home Assistant experience with the seamless integration of our WaterFlowKit. This allows you to gain detailed insights into water consumption in liters per minute from up to 4 sensors and track the temperature of the flowing water for each sensor. Analyze your water usage over days, weeks, months, and years, and perform intelligent automations based on your water usage, all within the user-friendly Home Assistant dashboard.
Dual flow measurement
Total consumption
liter
Temperature
Flow rate
L/h
Total consumption
liter
Temperature
Flow rate
L/h
Full integration with the Home Assistant Water/Energy Dashboard for real-time insights.
Up to 4 flow sensors and temperature per sensor. Choose exactly what you need.
Set up notifications for leak detection or abnormal water usage.
"The WaterFlowKit has changed my daily routines. Installation was simple, and now I can track my water consumption accurately. Measuring water temperature is also convenient. A great product for a smarter home!"
Happy customer
Built on ESPHome, the most popular open-source IoT platform. Customize the firmware, contribute to the community, and maintain full control.
All source code is available on GitHub. Customize the firmware to your needs.
Runs on ESPHome, the most popular open-source IoT platform. OTA updates, no cloud needed.
All data stays within your own network. No cloud, no subscription, no data collection.
Discover the endless possibilities of the WaterFlowKit combined with Home Assistant. Click a card for the full explanation, sensors, and copyable YAML code.
Want more examples?
We also have extra use cases for gardens, vacation homes, commercial setups and more.
The WaterFlowKit monitors your water usage 24/7. When water flows at unusual times (e.g., at night or when nobody is home), it's detected as a potential leak. You receive an instant notification on your phone. Combined with a motorized ball valve (e.g., Zigbee valve), the water supply can be automatically shut off. Most severe water damage occurs when nobody is home to notice a leak — a burst pipe or failed appliance hose can waste thousands of liters of water.
automation:
# Detect overnight continuous water flow
- alias: "Water Leak - Overnight Flow Detected"
trigger:
- platform: numeric_state
entity_id: sensor.waterflowkit_flow_rate
above: 2
for:
minutes: 30
condition:
- condition: time
after: "00:00:00"
before: "06:00:00"
action:
- service: notify.mobile_app
data:
title: "Water Leak Alert"
message: >
Water has been flowing at
{{ states('sensor.waterflowkit_flow_rate') }} L/min
for 30+ minutes during the night!
- service: switch.turn_off
entity_id: switch.water_main_valve
# Detect water flow when nobody is home
- alias: "Water Leak - Flow While Away"
trigger:
- platform: numeric_state
entity_id: sensor.waterflowkit_flow_rate
above: 0.5
for:
minutes: 5
condition:
- condition: state
entity_id: group.family_presence
state: "not_home"
action:
- service: switch.turn_off
entity_id: switch.water_main_valve
- service: notify.mobile_app
data:
title: "Water Shutoff Activated"
message: >
Water flow detected while nobody is home.
Main valve closed automatically.
data:
actions:
- action: REOPEN_WATER_VALVE
title: "Re-open valve"
# Re-open valve from notification action
- alias: "Water Valve - Re-open from Notification"
trigger:
- platform: event
event_type: mobile_app_notification_action
event_data:
action: REOPEN_WATER_VALVE
action:
- service: switch.turn_on
entity_id: switch.water_main_valve
The COP (Coefficient of Performance) indicates how much heat your heat pump delivers per unit of electricity. A COP of 4.0 means you get 4 kW of heat for every 1 kW of power. The formula is simple: COP = thermal output / electrical input. Calculate thermal output with: delta_T (°C) x flow (L/min) x 0.0697 = kW. The factor 0.0697 comes from the specific heat capacity of water (4.186 kJ/kg·°C / 60). By tracking COP across seasons (SCOP) you can see exactly when your heat pump performs optimally and adjust settings to save hundreds of euros per year.
Tip: Install the WaterFlowKit on the supply line of your heat pump. With 2 temperature sensors (supply + return) you measure the temperature difference. Combine this with a smart energy meter on your heat pump for the COP calculation.
template:
- sensor:
# Real-time COP calculation
- name: "Heat Pump COP"
unit_of_measurement: "COP"
icon: mdi:heat-pump
state: >
{% set supply = states('sensor.waterflowkit_temp_1') | float(0) %}
{% set ret = states('sensor.waterflowkit_temp_2') | float(0) %}
{% set flow = states('sensor.waterflowkit_flow_rate') | float(0) %}
{% set power = states('sensor.heatpump_power') | float(0) %}
{% if flow > 0 and power > 0.1 %}
{% set delta_t = (supply - ret) | abs %}
{% set thermal_kw = delta_t * flow * 0.0697 %}
{{ (thermal_kw / power) | round(2) }}
{% else %}
0
{% endif %}
# Thermal output in kW
- name: "Heat Pump Thermal Output"
unit_of_measurement: "kW"
icon: mdi:fire
state: >
{% set supply = states('sensor.waterflowkit_temp_1') | float(0) %}
{% set ret = states('sensor.waterflowkit_temp_2') | float(0) %}
{% set flow = states('sensor.waterflowkit_flow_rate') | float(0) %}
{{ ((supply - ret)|abs * flow * 0.0697) | round(2) }}
# Formula explained:
# flow (L/min) x delta_T (°C) x 0.0697 = thermal output (kW)
# 0.0697 = 4.186 (specific heat of water) / 60
# COP = thermal_kW / electrical_kW
# SCOP = total_thermal_kWh / total_electrical_kWh (over a season)
automation:
- alias: "Heat Pump - Low COP Warning"
trigger:
- platform: numeric_state
entity_id: sensor.heat_pump_cop
below: 2.0
for:
hours: 2
condition:
- condition: numeric_state
entity_id: sensor.heatpump_power
above: 0.5
action:
- service: notify.mobile_app
data:
title: "Heat Pump Low Efficiency"
message: >
COP below 2.0 for 2 hours
(currently {{ states('sensor.heat_pump_cop') }}).
Check for defrost issues.
Legionella bacteria thrive in stagnant water between 20-45°C. At 60°C they're killed within minutes. The WaterFlowKit temperature sensor continuously monitors whether your boiler regularly reaches 60°C. A helper (input_datetime) stores when this last occurred. If it's been more than 7 days, you receive a warning. Optionally, you can automate a weekly thermal disinfection cycle. This is especially important for heat pumps that run at 45-50°C by default for energy savings.
# Step 1: Create a helper to track last 60°C event
input_datetime:
last_legionella_flush:
name: "Last Legionella Flush"
has_date: true
has_time: true
# Step 2: Create a template sensor to count days
template:
- sensor:
- name: "Days Since Legionella Flush"
unit_of_measurement: "days"
icon: mdi:bacteria
state: >
{% set last = states('input_datetime.last_legionella_flush') %}
{% if last not in ['unknown', 'unavailable'] %}
{{ ((now() - last | as_datetime).total_seconds() / 86400) | round(1) }}
{% else %}
unavailable
{% endif %}
# Step 3: Automations
automation:
# Record when water reaches safe temp
- alias: "Legionella - Safe Temperature Reached"
trigger:
- platform: numeric_state
entity_id: sensor.waterflowkit_temp_1
above: 60
action:
- service: input_datetime.set_datetime
target:
entity_id: input_datetime.last_legionella_flush
data:
datetime: "{{ now().strftime('%Y-%m-%d %H:%M:%S') }}"
# Warn if 7 days without reaching 60°C
- alias: "Legionella - 7 Day Warning"
trigger:
- platform: time
at: "09:00:00"
condition:
- condition: numeric_state
entity_id: sensor.days_since_legionella_flush
above: 7
action:
- service: notify.mobile_app
data:
title: "Legionella Risk Warning"
message: >
Your boiler has not reached 60°C in
{{ states('sensor.days_since_legionella_flush') }} days.
A thermal disinfection cycle is recommended.
# Optional: Weekly auto thermal flush (Sunday 3AM)
- alias: "Legionella - Weekly Thermal Flush"
trigger:
- platform: time
at: "03:00:00"
condition:
- condition: time
weekday: [sun]
action:
- service: water_heater.set_temperature
target:
entity_id: water_heater.boiler
data:
temperature: 65
- delay: "01:30:00"
- service: water_heater.set_temperature
target:
entity_id: water_heater.boiler
data:
temperature: 50
The WaterFlowKit detects when someone is showering because the flow rate exceeds ~5 L/min (a shower uses 7-12 L/min). A timer starts automatically and when a configurable time limit is exceeded, you get a notification. You can even flash the bathroom light as a visual warning. After the shower, the session is logged. A family of four showering 10 minutes instead of 5 wastes over 65,000 liters per year — that's 65 cubic meters extra on your water bill.
# Step 1: Create helpers in HA Settings > Helpers
# - input_number.shower_time_limit (min:3, max:20, step:1, initial:8)
# - timer.shower_timer
# Step 2: Create a binary sensor to detect showering
template:
- binary_sensor:
- name: "Shower Active"
icon: mdi:shower-head
state: >
{{ states('sensor.waterflowkit_flow_rate') | float(0) > 5 }}
delay_on:
seconds: 30
delay_off:
seconds: 45
# Step 3: Automations
automation:
- alias: "Shower - Start Timer"
trigger:
- platform: state
entity_id: binary_sensor.shower_active
to: "on"
action:
- service: timer.start
target:
entity_id: timer.shower_timer
data:
duration: >
{{ states('input_number.shower_time_limit') | int * 60 }}
- alias: "Shower - Time Limit Warning"
trigger:
- platform: event
event_type: timer.finished
event_data:
entity_id: timer.shower_timer
condition:
- condition: state
entity_id: binary_sensor.shower_active
state: "on"
action:
# Flash bathroom lights 3x as visual warning
- repeat:
count: 3
sequence:
- service: light.turn_off
entity_id: light.bathroom
- delay: 1
- service: light.turn_on
entity_id: light.bathroom
- delay: 1
- service: notify.mobile_app
data:
title: "Long Shower Alert"
message: >
Shower exceeded
{{ states('input_number.shower_time_limit') | int }}
minutes!
Using Home Assistant's built-in utility_meter integration, you track water usage per day, week, month, and year. By setting your water rate and sewer charge per m³, a template sensor automatically calculates costs. You can set a monthly budget and receive warnings when you're about to exceed it. Most people only see their water bill once per quarter — real-time insight leads to an average 15-25% savings purely through awareness.
# Step 1: Create utility meters for different periods
utility_meter:
water_daily:
source: sensor.waterflowkit_total
cycle: daily
water_weekly:
source: sensor.waterflowkit_total
cycle: weekly
water_monthly:
source: sensor.waterflowkit_total
cycle: monthly
water_yearly:
source: sensor.waterflowkit_total
cycle: yearly
# Step 2: Create cost sensors
# Create input_number helpers for your local rates:
# - input_number.water_price_per_m3 (e.g. 4.50)
# - input_number.sewer_charge_per_m3 (e.g. 3.20)
# - input_number.monthly_water_budget (e.g. 40)
template:
- sensor:
- name: "Water Cost Today"
unit_of_measurement: "€"
state: >
{% set l = states('sensor.water_daily') | float(0) %}
{% set r = states('input_number.water_price_per_m3') | float(4.50) + states('input_number.sewer_charge_per_m3') | float(3.20) %}
{{ (l / 1000 * r) | round(2) }}
- name: "Water Cost This Month"
unit_of_measurement: "€"
state: >
{% set l = states('sensor.water_monthly') | float(0) %}
{% set r = states('input_number.water_price_per_m3') | float(4.50) + states('input_number.sewer_charge_per_m3') | float(3.20) %}
{{ (l / 1000 * r) | round(2) }}
- name: "Water Cost This Year"
unit_of_measurement: "€"
state: >
{% set l = states('sensor.water_yearly') | float(0) %}
{% set r = states('input_number.water_price_per_m3') | float(4.50) + states('input_number.sewer_charge_per_m3') | float(3.20) %}
{{ (l / 1000 * r) | round(2) }}
automation:
- alias: "Water Budget - Monthly Warning"
trigger:
- platform: time
at: "20:00:00"
condition:
- condition: template
value_template: >
{% set cost = states('sensor.water_cost_this_month') | float(0) %}
{% set budget = states('input_number.monthly_water_budget') | float(40) %}
{{ cost >= (budget * 0.8) }}
action:
- service: notify.mobile_app
data:
title: "Water Budget Warning"
message: >
Monthly water cost: €{{ states('sensor.water_cost_this_month') }}.
Budget: €{{ states('input_number.monthly_water_budget') | int }}.
Install the WaterFlowKit on your garden water line to measure exactly how much water is used per irrigation session. Combine with a soil moisture sensor and the weather integration in Home Assistant to automatically water only when truly needed — and stop when enough water has been delivered. The flow rate also helps detect broken sprinkler heads: if the flow suddenly much higher than normal, you know something is wrong. Garden irrigation accounts for 30-50% of residential water use in summer months.
automation:
- alias: "Irrigation - Smart Watering"
trigger:
- platform: time
at: "06:00:00"
condition:
# Only water if soil is dry
- condition: numeric_state
entity_id: sensor.soil_moisture
below: 40
# Skip if rain is expected
- condition: numeric_state
entity_id: sensor.openweathermap_forecast_precipitation_probability
below: 50
action:
- service: switch.turn_on
entity_id: switch.irrigation_zone_1
# Stop after 50 liters (measured by WaterFlowKit)
- wait_for_trigger:
- platform: numeric_state
entity_id: sensor.waterflowkit_total_today
above: 50
timeout: "00:20:00"
- service: switch.turn_off
entity_id: switch.irrigation_zone_1
- service: notify.mobile_app
data:
message: >
Zone 1 irrigated.
Water: {{ states('sensor.waterflowkit_total_today') | round(0) }}L.
- alias: "Irrigation - Broken Sprinkler Detection"
trigger:
- platform: numeric_state
entity_id: sensor.waterflowkit_flow_rate
above: 25
for:
minutes: 2
action:
- service: switch.turn_off
entity_id: switch.irrigation_zone_1
- service: notify.mobile_app
data:
title: "Irrigation Alert"
message: "Abnormal flow detected. Possible broken sprinkler."
Combine the WaterFlowKit with a motorized ball valve and presence detection. When everyone leaves the house, the water supply is automatically closed after 15 minutes. Upon arrival, the valve reopens. For vacation homes, you can activate a 'vacation mode' that immediately shuts off the valve and sends a critical alert for any unexpected water flow. From the notification, you can reopen the valve with one tap. The majority of catastrophic water damage claims occur in unoccupied homes — some insurers offer discounts for automatic shutoff systems.
# Create input_boolean.vacation_mode via HA Helpers
automation:
- alias: "Away - Close Valve on Departure"
trigger:
- platform: state
entity_id: group.family_presence
to: "not_home"
for:
minutes: 15
action:
- service: switch.turn_off
entity_id: switch.water_main_valve
- service: notify.mobile_app
data:
message: "Everyone left. Water valve closed."
- alias: "Away - Open Valve on Arrival"
trigger:
- platform: state
entity_id: group.family_presence
to: "home"
condition:
- condition: state
entity_id: input_boolean.vacation_mode
state: "off"
action:
- service: switch.turn_on
entity_id: switch.water_main_valve
- alias: "Vacation - Any Flow = Emergency"
trigger:
- platform: numeric_state
entity_id: sensor.waterflowkit_flow_rate
above: 0
for:
minutes: 1
condition:
- condition: state
entity_id: input_boolean.vacation_mode
state: "on"
action:
- service: switch.turn_off
entity_id: switch.water_main_valve
- service: notify.mobile_app
data:
title: "VACATION HOME ALERT"
message: "Water flow detected in vacation mode! Valve shut off."
data:
push:
sound:
critical: 1
volume: 1.0
actions:
- action: VACATION_REOPEN
title: "Re-open valve"
Install multiple WaterFlowKits on separate water lines per unit — think camping pitches, hotel rooms, apartments, or zones in a restaurant (kitchen vs. toilets). Each WaterFlowKit reports separately to Home Assistant, where utility_meter tracks usage per day/week/month. You automatically generate billing data per unit and detect excessive usage (leaks, forgotten taps) at specific locations. For restaurants: detect water flow after closing time. With the WaterFlowKit V2, you can connect up to 4 sensors, ideal for monitoring multiple connection points.
# Per-unit tracking (example: 4 camping pitches)
utility_meter:
pitch_1_daily:
source: sensor.waterflowkit_1_total
cycle: daily
pitch_1_monthly:
source: sensor.waterflowkit_1_total
cycle: monthly
pitch_2_monthly:
source: sensor.waterflowkit_2_total
cycle: monthly
pitch_3_monthly:
source: sensor.waterflowkit_3_total
cycle: monthly
pitch_4_monthly:
source: sensor.waterflowkit_4_total
cycle: monthly
template:
- sensor:
- name: "Pitch 1 Monthly Cost"
unit_of_measurement: "€"
state: >
{{ (states('sensor.pitch_1_monthly') | float / 1000 * 5.50) | round(2) }}
automation:
# Alert on high usage per unit
- alias: "Camping - High Usage Alert"
trigger:
- platform: numeric_state
entity_id:
- sensor.pitch_1_daily
- sensor.pitch_2_daily
- sensor.pitch_3_daily
- sensor.pitch_4_daily
above: 500
action:
- service: notify.mobile_app
data:
title: "High Water Usage"
message: >
{{ trigger.to_state.name }} used
{{ trigger.to_state.state | round(0) }}L today.
Normal: ~150L. Check for leaks.
# Restaurant: after-hours flow detection
- alias: "Restaurant - After Hours Water"
trigger:
- platform: numeric_state
entity_id: sensor.waterflowkit_flow_rate
above: 1
for:
minutes: 10
condition:
- condition: time
after: "23:30:00"
before: "05:30:00"
action:
- service: notify.mobile_app
data:
title: "After Hours Water Alert"
message: "Water flowing after closing! Possible forgotten tap."
Install the WaterFlowKit on the return line of your pool filter or aquarium circulation pump. By continuously monitoring flow rate, you detect: pump failure (pump on but no flow), clogged filters (gradually decreasing flow below 70% of normal), and leaks. For an aquarium, circulation failure is critical — without water movement, oxygen levels can drop fatally within hours. The automation sends a critical notification with sound that breaks through silent mode.
template:
- binary_sensor:
# Filter needs cleaning when flow drops below 70%
- name: "Pool Filter Needs Cleaning"
icon: mdi:filter-remove
state: >
{% set current = states('sensor.waterflowkit_flow_rate') | float(0) %}
{% set normal = 8.5 %}
{{ current > 0 and current < (normal * 0.70) }}
# Pump running but no flow = failure
- name: "Pool Pump Failure"
icon: mdi:pump-off
state: >
{{ is_state('switch.pool_pump', 'on') and
states('sensor.waterflowkit_flow_rate') | float(0) < 0.5 }}
delay_on:
minutes: 3
automation:
- alias: "Pool - Pump Failure Alert"
trigger:
- platform: state
entity_id: binary_sensor.pool_pump_failure
to: "on"
action:
- service: notify.mobile_app
data:
title: "Pool Pump Failure"
message: "Pump is ON but no water flow! Check for air lock or motor failure."
- alias: "Pool - Filter Backwash Reminder"
trigger:
- platform: state
entity_id: binary_sensor.pool_filter_needs_cleaning
to: "on"
for:
minutes: 30
action:
- service: notify.mobile_app
data:
title: "Pool Filter Maintenance"
message: >
Flow dropped to {{ states('sensor.waterflowkit_flow_rate') }} L/min
(normal: ~8.5). Time to backwash.
# CRITICAL: Aquarium circulation failure
- alias: "Aquarium - Pump Failure CRITICAL"
trigger:
- platform: numeric_state
entity_id: sensor.waterflowkit_flow_rate
below: 1
for:
minutes: 5
action:
- service: notify.mobile_app
data:
title: "AQUARIUM CRITICAL"
message: "Circulation pump stopped! Check immediately."
data:
push:
sound:
name: default
critical: 1
volume: 1.0
Real reviews from verified buyers
"I am impressed by the accuracy of the WaterFlowKit. Tracking both water usage and temperature per tap gives great insight into our consumption."
"I was always curious about the actual water usage for showering, washing, etc. With the WaterFlowKit I can see it precisely and optimize accordingly. A real eye-opener and a smart investment."
"The WaterFlowKit measures water usage and tap temperature with precision. Real-time monitoring helped me save water."
"A must-have for anyone who wants to monitor water flow in their home. The detailed statistics are excellent."
"It provides precise measurements and is very intuitive to use. An essential tool for managing our water consumption."
"At the moment I use the WaterFlowKit to calculate the coefficient efficiency of my heat pump."
Find answers to the most frequently asked questions about the WaterFlowKit.
The WaterFlowKit is designed for easy installation. You can attach it to the water line of your choice, such as the kitchen or bathroom faucet. Attach the provided flow sensors to the pipeline and connect the kit to your Home Assistant system.
Yes, you have the flexibility to connect up to two flow sensors to the WaterFlowKit. This allows you to track water consumption at different locations in your home.
Besides the WaterFlowKit, you need a functioning Home Assistant system as well as a WiFi connection.
The WaterFlowKit not only measures water consumption in liters per minute but can also measure the waters temperature as it flows through the sensors. It also measures the temperature and humidity of the room where the kit is located.
Yes, with the WaterFlowKit you can set up notifications in Home Assistant based on custom water consumption thresholds, allowing you, for example, to receive alerts when unusually large amounts of water are consumed.
Yes, you can view and analyze historical data of your water consumption over days, weeks, months, and years in Home Assistant, providing insight into your water consumption patterns.
Yes, the WaterFlowKit is suitable for both cold and hot water lines and can measure the water temperature as it flows through the sensors.
The WaterFlowKit is designed for indoor use and is not recommended for outdoor use where it could be exposed to extreme weather conditions.
Still have questions?
Get in touch with us
Connect up to 4 flow sensors in 5 pipe sizes, available in Brass and Stainless Steel:
G1/2" (DN15): 1–25 L/min, ±3% accuracy
G3/4" (DN20): 1–30 L/min, ±3% accuracy
G1" (DN25): 1–50 L/min, ±5% accuracy
G1½" (DN40): 5–150 L/min, ±3% accuracy
G2" (DN50): 10–200 L/min, ±3% accuracy
Temperature measurement available on G1/2" and G3/4" models (-20 to +80 °C).
Water temperature: 0 °C to +80 °C with ±0.5 °C accuracy (on compatible sensors).
Ambient temperature and humidity monitoring via built-in sensor.
Wi-Fi IEEE 802.11 b/g/n (2.4 GHz), supports WPA/WPA2 security.
Ethernet (RJ45) with Power over Ethernet (PoE) support for a stable wired connection.
92 x 47.5 x 26.5 mm (main unit)
USB-C power cable: 3 meters
Sensor cable: 1 meter per sensor (detachable connectors on both ends)
USB-C port for power supply (5V, 1A) with included adapter (if chosen).
Power over Ethernet (PoE) for combined data and power via a single cable.
IP52 for sensors (protection against dust and light moisture).
IP20 for the main unit (suitable for indoor use).
-10 °C to +40 °C for the main unit.
Fully integrated with Home Assistant via ESPHome.
Home Assistant Energy Dashboard compatible.
Over-the-air (OTA) firmware updates.
Functions as Bluetooth Low Energy (BLE) proxy.
WaterFlowKit V2 main unit
Selected flow sensors (with temperature measurement if chosen)
USB-C power adapter and cable
Quick start guide