| Crates.io | homewizard-water-exporter |
| lib.rs | homewizard-water-exporter |
| version | 0.1.7 |
| created_at | 2025-07-14 19:03:16.181507+00 |
| updated_at | 2025-07-23 18:06:43.716299+00 |
| description | Prometheus exporter for HomeWizard Water Meter |
| homepage | https://github.com/rvben/homewizard-water-exporter |
| repository | https://github.com/rvben/homewizard-water-exporter |
| max_upload_size | |
| id | 1752178 |
| size | 120,039 |
A Rust-based Prometheus exporter for the HomeWizard Water Meter, providing real-time water consumption metrics.
# Using Docker
docker run -d -p 9899:9899 -e HOMEWIZARD_HOST=192.168.1.241 rvben/homewizard-water-exporter:latest
# Or using pre-built binary
wget https://github.com/rvben/homewizard-water-exporter/releases/latest/download/homewizard-water-exporter-$(uname -m)-linux.tar.gz
tar -xzf homewizard-water-exporter-*.tar.gz
HOMEWIZARD_HOST=192.168.1.241 ./homewizard-water-exporter
# From Docker Hub
docker run -d \
--name homewizard-water-exporter \
-p 9899:9899 \
-e HOMEWIZARD_HOST=192.168.1.241 \
rvben/homewizard-water-exporter:latest
# From GitHub Container Registry
docker run -d \
--name homewizard-water-exporter \
-p 9899:9899 \
-e HOMEWIZARD_HOST=192.168.1.241 \
ghcr.io/rvben/homewizard-water-exporter:latest
Download the latest release for your platform from the releases page.
# Example for Linux x86_64
wget https://github.com/rvben/homewizard-water-exporter/releases/latest/download/homewizard-water-exporter-x86_64-linux.tar.gz
tar -xzf homewizard-water-exporter-x86_64-linux.tar.gz
chmod +x homewizard-water-exporter
HOMEWIZARD_HOST=192.168.1.241 ./homewizard-water-exporter
cargo install homewizard-water-exporter
HOMEWIZARD_HOST=192.168.1.241 homewizard-water-exporter
# Clone the repository
git clone https://github.com/rvben/homewizard-water-exporter
cd homewizard-water-exporter
# Build the binary
cargo build --release
# Run the exporter
HOMEWIZARD_HOST=192.168.1.241 ./target/release/homewizard-water-exporter
The exporter can be configured via command-line arguments or environment variables:
| Environment Variable | CLI Flag | Default | Description |
|---|---|---|---|
HOMEWIZARD_HOST |
--host |
Required | IP address or hostname of HomeWizard Water Meter |
METRICS_PORT |
--port |
9899 |
Port to expose Prometheus metrics |
POLL_INTERVAL |
--poll-interval |
60 |
Seconds between API polls |
LOG_LEVEL |
--log-level |
info |
Log level (trace, debug, info, warn, error) |
HTTP_TIMEOUT |
--http-timeout |
5 |
HTTP request timeout in seconds |
The exporter provides the following Prometheus metrics:
| Metric | Type | Description |
|---|---|---|
homewizard_water_total_m3 |
Counter | Total water consumption in m³ |
homewizard_water_active_flow_lpm |
Gauge | Current water flow in liters per minute |
homewizard_water_offset_m3 |
Gauge | Water meter offset in m³ |
homewizard_water_wifi_strength_percent |
Gauge | WiFi signal strength percentage |
homewizard_water_meter_info{wifi_ssid} |
Gauge | Water meter information |
Add the following to your prometheus.yml:
scrape_configs:
- job_name: 'homewizard_water'
static_configs:
- targets: ['localhost:9899']
scrape_interval: 60s
# HELP homewizard_water_total_m3 Total water consumption in m³
# TYPE homewizard_water_total_m3 counter
homewizard_water_total_m3 451.827
# HELP homewizard_water_active_flow_lpm Current water flow in liters per minute
# TYPE homewizard_water_active_flow_lpm gauge
homewizard_water_active_flow_lpm 0
# HELP homewizard_water_wifi_strength_percent WiFi signal strength percentage
# TYPE homewizard_water_wifi_strength_percent gauge
homewizard_water_wifi_strength_percent 100
An example Grafana dashboard is included in grafana-dashboard.json. To import:
The dashboard includes:
# Show all available make targets
make help
# Build the binary
make build
# Run tests
make test
# Check code formatting and linting
make check
# Run the exporter locally
HOMEWIZARD_HOST=192.168.1.241 make run
# Build Docker image
make docker-build
# Run in Docker
HOMEWIZARD_HOST=192.168.1.241 make docker-run
MIT License - see LICENSE file for details
Contributions are welcome! Please feel free to submit a Pull Request.