Firmware Guide
Local operation and GitHub update checks
The local Home Assistant firmware keeps WaterP1MeterKit measurements on your own network. Sensor readings go directly to Home Assistant and are not sent to GitHub or the SmartHomeShop cloud.
Wi-Fi and Ethernet firmware includes an ESPHome update entity. It periodically reads a small firmware manifest from SmartHomeShop GitHub Pages to compare the installed version with the latest release. Only firmware metadata is requested; the firmware file is downloaded only when you install an update.
Cloud firmware intentionally communicates with the SmartHomeShop app as part of its cloud features. Disabling the GitHub update check does not convert cloud firmware into local firmware. Thread firmware does not perform this check over Wi-Fi or Ethernet.
Use WaterP1MeterKit without internet access
You may block internet access for WaterP1MeterKit; its local measurements and Home Assistant connection continue to work. To prevent a blocked check from triggering the red status LED, take control of the device in the ESPHome Device Builder app/add-on, open its YAML and add this at the bottom:
update:
- id: !extend firmware_update
update_interval: never
Save the YAML, select Validate, and install the build using Install > Wirelessly. This disables scheduled checks only; it does not remove the update component or change any WaterP1MeterKit sensors.
The adopted YAML continues to contain a packages: link to the SmartHomeShop GitHub repository. ESPHome uses that link on the Home Assistant host when it compiles your firmware. The device itself no longer polls for firmware versions after the customized build is installed.
To restore automatic checks, remove the added update: block and install the firmware again. If ESPHome cannot find the firmware_update ID, update WaterP1MeterKit through the SmartHomeShop web flasher before applying this customization.
This guide explains how to flash, update, or switch firmware on your WaterP1MeterKit. Whether you want to switch between WiFi and Ethernet, update to the latest version, or customize the firmware, we've got you covered.
Firmware Options
The WaterP1MeterKit supports these firmware variants:
| Firmware | Connection | Power Options |
|---|---|---|
| WiFi | 2.4 GHz wireless | USB-C adapter |
| Ethernet | Wired RJ45 | USB-C adapter or PoE (V2/V3/V4) |
| Thread (V4) | Thread network, local only | USB-C adapter. See Connect via Thread |
WiFi and Ethernet are also available as SmartHomeShop App (cloud) variant for the SmartHomeShop app. Home Assistant keeps working on those variants.
📦 Default: All devices ship with WiFi firmware pre-installed.
DSMR/MBus Water Support
WaterP1MeterKit supports Belgian digital water meters reported through DSMR/MBus on the P1 telegram.
- Belgian digital water meters via DSMR/MBus are now supported
- New DSMR water entities are available, disabled by default:
DSMR Water ConsumedDSMR Water Equipment IDDSMR Water Device TypeDSMR Water Valve Position
- New DSMR gas/MBus diagnostic entities are available, disabled by default:
DSMR Gas Device TypeDSMR Gas Valve PositionDSMR Gas Equipment ID Belgium
water_mbus_idwas added with default2for Belgian digital water meters
Energy Dashboard note: use either the pulse water sensor (
Water Total Consumption) or DSMR water (DSMR Water Consumed). Do not add both for the same physical water meter.
Method 1: Web Flasher (Recommended)
The easiest way to flash firmware is via our web-based flasher. No software installation required: just a USB-C cable and a Chrome/Edge browser.
Steps
- Connect your WaterP1MeterKit to your computer via USB-C
- Open our firmware page: smarthomeshop.io/firmware
- Select your hardware version (V1, V2, V3, or V4)
- Choose how you use the device: Local with Home Assistant or SmartHomeShop app + local use
- Choose the firmware (WiFi or Ethernet)
- Click "Install firmware", select the USB port of your device and wait for the process to complete
⚠️ Note: After flashing Ethernet firmware, WiFi will no longer work. Connect an Ethernet cable before powering on.
When to Use
- ✅ First-time setup
- ✅ Switching from WiFi to Ethernet (or vice versa)
- ✅ Device is not responding or needs recovery
- ✅ You don't use the ESPHome Device Builder app
Method 2: Home Assistant Selector (WiFi → Ethernet only)
If your WaterP1MeterKit is already connected to Home Assistant via WiFi, you can switch to Ethernet firmware directly from Home Assistant.
Steps
- Connect an Ethernet cable to your WaterP1MeterKit first!
- Open Home Assistant → Devices → WaterP1MeterKit
- Find the "Firmware Variant" selector
- Change from "WiFi (local)" to "Ethernet (local)"
- The device will download and install the new firmware automatically
- After reboot, the device will be available via Ethernet
⚠️ Important: This method only works for WiFi → Ethernet. To switch back from Ethernet to WiFi, use Method 1 (Web Flasher) or Method 3 (ESPHome).
When to Use
- ✅ Switching from WiFi to Ethernet without USB-C cable
- ✅ Device is already working in Home Assistant
- ✅ Quick and easy method
Method 3: ESPHome Device Builder app (Advanced)
For users who want full control over their firmware, you can adopt the WaterP1MeterKit in the ESPHome Device Builder app and compile your own firmware.
Steps
- Open ESPHome in Home Assistant
- Adopt the WaterP1MeterKit (it should appear automatically if on the same network)
- Edit the device configuration
- Replace the YAML with the configuration from our GitHub repository:
Example: WiFi Configuration
substitutions:
name: waterp1meterkit
friendly_name: WaterP1MeterKit
packages:
smarthomeshop.waterp1meterkit: github://smarthomeshop/waterp1meterkit/waterp1meterkit-v4/waterp1meterkit-wifi.yaml@main
esphome:
name: ${name}
friendly_name: ${friendly_name}
name_add_mac_suffix: false
api:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
Example: Ethernet Configuration
substitutions:
name: waterp1meterkit
friendly_name: WaterP1MeterKit
packages:
smarthomeshop.waterp1meterkit: github://smarthomeshop/waterp1meterkit/waterp1meterkit-v4/waterp1meterkit-ethernet.yaml@main
esphome:
name: ${name}
friendly_name: ${friendly_name}
name_add_mac_suffix: false
api:
💡 Tip: Use
waterp1meterkit-v4for the current ESP32-C6 hardware. Replace it withwaterp1meterkit-v3,waterp1meterkit-v2, orwaterp1meterkit-v1if you have older hardware.
Customization
With ESPHome, you can:
- Add custom sensors
- Change update intervals
- Add automations directly on the device
- Integrate with other ESPHome features
When to Use
- ✅ You want to customize the firmware
- ✅ You're familiar with ESPHome and YAML
- ✅ You want to add extra sensors or features
- ✅ You prefer compiling firmware yourself
Firmware Files by Hardware
Make sure to select the correct firmware for your hardware version:
| Hardware | WiFi YAML | Ethernet YAML |
|---|---|---|
| V1 | waterp1meterkit-v1/waterp1meterkit-wifi.yaml |
waterp1meterkit-v1/waterp1meterkit-ethernet.yaml |
| V2 | waterp1meterkit-v2/waterp1meterkit-wifi.yaml |
waterp1meterkit-v2/waterp1meterkit-ethernet.yaml |
| V3 | waterp1meterkit-v3/waterp1meterkit-wifi.yaml |
waterp1meterkit-v3/waterp1meterkit-ethernet.yaml |
| V4 | waterp1meterkit-v4/waterp1meterkit-wifi.yaml |
waterp1meterkit-v4/waterp1meterkit-ethernet.yaml |
🔍 Not sure which version you have? See Hardware Versions
After Flashing
Switching to Ethernet
After flashing Ethernet firmware:
- Disconnect USB-C power
- Connect Ethernet cable to a PoE switch (V2/V3/V4) or regular switch + USB-C power (V1)
- The device should appear in Home Assistant automatically
Switching to WiFi
After flashing WiFi firmware:
- The device creates a hotspot:
waterp1meterkit(V4 with older firmware:waterp1meterkit-v4, password: same as the name) - Connect and configure your home WiFi
- The device should appear in Home Assistant automatically
Re-adopting in Home Assistant
If the device doesn't appear after flashing:
- Go to Settings → Devices & Services
- Look for new ESPHome devices
- Click Configure to add it
V4 with Ethernet Firmware: Check This Before an Update
Older Ethernet firmware on V4 can start with Firmware Variant on WiFi (local), even though the kit runs on Ethernet. An update from Home Assistant then installs WiFi firmware.
Before you update, set Firmware Variant to Ethernet (local) or Ethernet + SmartHomeShop App (cloud).
Is the kit offline after an update and do you see its WiFi hotspot? Then it runs WiFi firmware. Flash the Ethernet firmware over USB-C with Method 1 (Web Flasher).
Troubleshooting
Device not detected via USB-C
- Try a different USB-C cable (some cables are charge-only)
- Try a different USB port
- Make sure no other program is using the serial port
- Only if the device is still not detected: install the CP210x driver
Flashing fails
- Try the web flasher in incognito/private mode
- Close other browser tabs using serial connections
Device not appearing in Home Assistant
- Check if device is on the same network/VLAN
- Check your router for the device's IP address
- Try adding ESPHome integration manually with the IP address
Source Code
All firmware source code is open source and available on GitHub:
📁 github.com/smarthomeshop/waterp1meterkit
Releases & Changelog
Every firmware release gets its own versioned release entry. Use these links to quickly see what changed before you update:
Need Help?
- Discord Community: Get help from the community
- Troubleshooting Guide: Common issues and solutions
- Network Configuration: WiFi/Ethernet setup details
Thread Firmware
WaterP1MeterKit V4 can also join a Thread network for local Home Assistant use, reading one DSMR telegram every 5 seconds. See Connect WaterP1MeterKit via Thread.