Skip to main content

Modern Python library and CLI for Grundfos ALPHA HWR pumps via Bluetooth Low Energy

Project description

Grundfos ALPHA HWR Python Library

PyPI Python Tests Documentation License

Modern Python library and CLI for controlling Grundfos ALPHA HWR pumps via Bluetooth Low Energy.

Features

  • Automatic discovery and pairing with ALPHA HWR pumps
  • Stream telemetry data (flow, pressure, power, temperature)
  • Set pump modes and setpoints with automatic validation
  • Create and manage time-based operation schedules
  • Save and restore complete pump configurations
  • Full type hints and validation with Pydantic
  • Built on async Python for efficient BLE communication
  • Command-line interface for quick operations

Installation

pip install alpha-hwr

Requirements: Python 3.13+ with Bluetooth Low Energy support

Quick Start

Command Line

# Discover nearby pumps
alpha-hwr device scan

# Monitor telemetry in real-time
alpha-hwr monitor telemetry AA:BB:CC:DD:EE:FF

# Check pump status
alpha-hwr control status AA:BB:CC:DD:EE:FF

# Set constant pressure mode (1.5 meters)
alpha-hwr control set-pressure 1.5 AA:BB:CC:DD:EE:FF

Python Library

import asyncio
from alpha_hwr import AlphaHWRClient

async def main():
    # Connect to pump (auto-discovery or specific address)
    async with AlphaHWRClient("AA:BB:CC:DD:EE:FF") as client:
        # Read telemetry
        telemetry = await client.telemetry.read_once()
        print(f"Flow: {telemetry.flow_m3h} m³/h")
        print(f"Head: {telemetry.head_m} m")
        print(f"Power: {telemetry.power_w} W")
        
        # Set constant pressure mode
        await client.control.set_constant_pressure(1.5)  # 1.5 meters
        
        # Read device info
        info = await client.device_info.read_info()
        print(f"Serial: {info.serial_number}")
        print(f"Software: {info.software_version}")

asyncio.run(main())

Supported Control Modes

The ALPHA HWR supports 5 primary modes optimized for domestic hot water recirculation:

Mode Setpoint Range Notes
Temperature Control 20-60°C Dual setpoints (min/max), AUTOADAPT flow adjustment, optional Flow Limit
Cycle Time Control 1-60 min Configurable ON/OFF durations
Constant Curve 1000-4500 RPM Fixed speed with optional Flow Limit
Constant Pressure 0.5-6.0 m Fixed head pressure
Constant Flow 0.1-3.0 m³/h Fixed flow rate

Proportional Pressure (0.5-6.0 m) is also fully supported.

Documentation

Complete documentation: https://eman.github.io/alpha-hwr/

Examples

Monitor Telemetry Stream

async with AlphaHWRClient(address) as client:
    # Stream telemetry updates
    async for telemetry in client.telemetry.monitor():
        print(f"Flow: {telemetry.flow_m3h:.2f} m³/h, "
              f"Head: {telemetry.head_m:.2f} m, "
              f"Power: {telemetry.power_w:.1f} W")

Manage Schedules

from alpha_hwr.models import ScheduleEntry

async with AlphaHWRClient(address) as client:
    # Create a schedule entry for Monday 6:00 AM - 8:30 AM
    entry = ScheduleEntry(
        day="Monday",
        begin_hour=6,
        begin_minute=0,
        end_hour=8,
        end_minute=30,
        layer=0
    )
    
    # Write schedule and enable it
    await client.schedule.write_entries([entry], layer=0)
    await client.schedule.enable()

Backup & Restore Configuration

async with AlphaHWRClient(address) as client:
    # Backup current configuration
    await client.config.backup("pump_backup.json")
    
    # Restore from backup
    await client.config.restore("pump_backup.json")

Project Status

Actively maintained and tested on real ALPHA HWR hardware.

Contributing

Contributions welcome! See CONTRIBUTING.md for guidelines.

License

MIT License - See LICENSE for details.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alpha_hwr-0.4.0.tar.gz (315.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

alpha_hwr-0.4.0-py3-none-any.whl (138.8 kB view details)

Uploaded Python 3

File details

Details for the file alpha_hwr-0.4.0.tar.gz.

File metadata

  • Download URL: alpha_hwr-0.4.0.tar.gz
  • Upload date:
  • Size: 315.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for alpha_hwr-0.4.0.tar.gz
Algorithm Hash digest
SHA256 a9174c4c94cc8196cd129add9013dc6f305ed2ff3af7012482040c5570659472
MD5 9f355dd341ca04ebe64437458c692cbe
BLAKE2b-256 3954481817237a081546b83cdca355a929d64c98469a82c179bda2aeeca17728

See more details on using hashes here.

Provenance

The following attestation bundles were made for alpha_hwr-0.4.0.tar.gz:

Publisher: publish.yml on eman/alpha-hwr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file alpha_hwr-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: alpha_hwr-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 138.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for alpha_hwr-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b7f766ae6dad21269ab6794b78cdd7b495048cfc518f22300fe2a0bf348275ee
MD5 88eae3ae818a3484de288c66e4b083af
BLAKE2b-256 2e0340a81fb8c2b02f6bc46e3457f8b8ae3d87856372ea908b9796227024ead8

See more details on using hashes here.

Provenance

The following attestation bundles were made for alpha_hwr-0.4.0-py3-none-any.whl:

Publisher: publish.yml on eman/alpha-hwr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page