Skip to content

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:

FirmwareConnectionPower Options
WiFi2.4 GHz wirelessUSB-C adapter
EthernetWired RJ45USB-C adapter or PoE (V2/V3)

📦 Default: All devices ship with WiFi firmware pre-installed.


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

  1. Connect your WaterP1MeterKit to your computer via USB-C
  2. Open our firmware page: smarthomeshop.io/firmware
  3. Select your hardware version (V1, V2, or V3)
  4. Choose the firmware variant (WiFi or Ethernet)
  5. Click "Connect" and select your device
  6. 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

  1. Connect an Ethernet cable to your WaterP1MeterKit first!
  2. Open Home Assistant → Devices → WaterP1MeterKit
  3. Find the "Firmware Type" selector
  4. Change from "WiFi" to "Ethernet"
  5. The device will download and install the new firmware automatically
  6. 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

  1. Open ESPHome in Home Assistant
  2. Adopt the WaterP1MeterKit (it should appear automatically if on the same network)
  3. Edit the device configuration
  4. Replace the YAML with the configuration from our GitHub repository:

Example: WiFi Configuration

yaml
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_password

Example: Ethernet Configuration

yaml
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-v3 with waterp1meterkit-v2 or waterp1meterkit-v1 depending 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:

HardwareWiFi YAMLEthernet YAML
V1waterp1meterkit-v1/waterp1meterkit-wifi.yamlwaterp1meterkit-v1/waterp1meterkit-ethernet.yaml
V2waterp1meterkit-v2/waterp1meterkit-wifi.yamlwaterp1meterkit-v2/waterp1meterkit-ethernet.yaml
V3waterp1meterkit-v3/waterp1meterkit-wifi.yamlwaterp1meterkit-v3/waterp1meterkit-ethernet.yaml

🔍 Not sure which version you have? See Hardware Versions


After Flashing

Switching to Ethernet

After flashing Ethernet firmware:

  1. Disconnect USB-C power
  2. Connect Ethernet cable to a PoE switch (V2/V3) or regular switch + USB-C power (V1)
  3. The device should appear in Home Assistant automatically

Switching to WiFi

After flashing WiFi firmware:

  1. The device creates a hotspot: waterp1meterkit (password: waterp1meterkit)
  2. Connect and configure your home WiFi
  3. The device should appear in Home Assistant automatically

Re-adopting in Home Assistant

If the device doesn't appear after flashing:

  1. Go to SettingsDevices & Services
  2. Look for new ESPHome devices
  3. 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?