Firmware Guide
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 two firmware variants:
| Firmware | Connection | Power Options |
|---|---|---|
| WiFi | 2.4 GHz wireless | USB-C adapter |
| Ethernet | Wired RJ45 | USB-C adapter or PoE (V2/V3) |
📦 Default: All devices ship with WiFi firmware pre-installed.
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, or V3)
- Choose the firmware variant (WiFi or Ethernet)
- Click "Connect" and select your device
- Click "Install" 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 addon
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 Type" selector
- Change from "WiFi" to "Ethernet"
- 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 Addon (Advanced)
For users who want full control over their firmware, you can adopt the WaterP1MeterKit in the ESPHome addon 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-v3/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_passwordExample: Ethernet Configuration
substitutions:
name: waterp1meterkit
friendly_name: WaterP1MeterKit
packages:
smarthomeshop.waterp1meterkit: github://smarthomeshop/waterp1meterkit/waterp1meterkit-v3/waterp1meterkit-ethernet.yaml@main
esphome:
name: ${name}
friendly_name: ${friendly_name}
name_add_mac_suffix: false
api:💡 Tip: Replace
waterp1meterkit-v3withwaterp1meterkit-v2orwaterp1meterkit-v1depending on your hardware version.
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 Versions 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 |
🔍 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) 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(password:waterp1meterkit) - 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
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
- On Windows: Install the CH340 driver
Flashing fails
- Hold the BOOT button while connecting USB-C
- 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
Need Help?
- Discord Community — Get help from the community
- Troubleshooting Guide — Common issues and solutions
- Network Configuration — WiFi/Ethernet setup details