Skip to main content

A package to manipulate and monitor Emerald Heat Pump Hot Water Systems

Project description

emerald_hws_py

Python package for controlling Emerald Heat Pump Hot Water Systems

Overview

This package provides an interface to control and monitor Emerald Heat Pump Hot Water Systems through their API and MQTT service.

Installation

pip install emerald_hws

Usage

from emerald_hws.emeraldhws import EmeraldHWS

# Basic usage with default connection settings
client = EmeraldHWS("your_email@example.com", "your_password")
client.connect()

# List all hot water systems
hws_list = client.listHWS()
print(f"Found {len(hws_list)} hot water systems")

# Get status of first HWS
hws_id = hws_list[0]
status = client.getFullStatus(hws_id)
print(f"Current temperature: {status['last_state'].get('temp_current')}")

# Turn on the hot water system
client.turnOn(hws_id)

Configuration Options

Connection Timeout

The module will automatically reconnect to the MQTT service periodically to prevent stale connections. You can configure this timeout:

# Set connection timeout to 6 hours (360 minutes)
client = EmeraldHWS("your_email@example.com", "your_password", connection_timeout_minutes=360)

Health Check

The module can proactively check for message activity and reconnect if no messages have been received for a specified period:

# Set health check to check every 30 minutes
client = EmeraldHWS("your_email@example.com", "your_password", health_check_minutes=30)

# Disable health check
client = EmeraldHWS("your_email@example.com", "your_password", health_check_minutes=0)

Callback for Updates

You can register a callback function to be notified when the state of any hot water system changes:

def my_callback():
    print("Hot water system state updated!")

client = EmeraldHWS("your_email@example.com", "your_password", update_callback=my_callback)

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

emerald_hws-0.0.24.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

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

emerald_hws-0.0.24-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file emerald_hws-0.0.24.tar.gz.

File metadata

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

File hashes

Hashes for emerald_hws-0.0.24.tar.gz
Algorithm Hash digest
SHA256 3a0f0b0a653a27405c32224f9522611e329000759c2bf35f595f682d0f98db87
MD5 d184154f2e6f1f32550b8d2db4f8f4e3
BLAKE2b-256 eb481a68737a6d202792ef41278581341a32e77a68b8b7d81c249d5ad4e9fe9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for emerald_hws-0.0.24.tar.gz:

Publisher: publish.yml on ross-w/emerald_hws_py

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

File details

Details for the file emerald_hws-0.0.24-py3-none-any.whl.

File metadata

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

File hashes

Hashes for emerald_hws-0.0.24-py3-none-any.whl
Algorithm Hash digest
SHA256 88eff85b403e06962a75104f32f75a9e7ca254437b8d484f81bfcd73bae343c8
MD5 8958a3df4b7bc2c092ccb0353bc2733b
BLAKE2b-256 3e1305f6df8991b5d1819e2f75ff448afbcb96c0e2ca491d7a93493ddf6a620a

See more details on using hashes here.

Provenance

The following attestation bundles were made for emerald_hws-0.0.24-py3-none-any.whl:

Publisher: publish.yml on ross-w/emerald_hws_py

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