Skip to main content

gkphomepython

License: MIT

A Python API wrapper for GKP Wi-Fi radiators, providing easy Home Assistant integration with the GKP cloud.

Features

  • OAuth2 authentication - Secure token-based authentication with automatic refresh
  • Installation discovery - Discovery of the installations where the user is the main administrator
  • Thermostat control - Set temperature and modes, and read the current status
  • Device wake up - Ask the radiators to report their current state
  • Rate limiting - Expose the delay requested by the API when it rate limits the user

Installation

From source

pip install .

Usage

from gkphomepython import GkpAuth, GkpClient, GkpMode

auth = GkpAuth(oauth_session)  # object exposing `token` and `async_ensure_token_valid()`
client = GkpClient(auth, aiohttp_session)

installations = await client.get_installations()
for installation in installations:
    await client.notify_user_connected(installation.installation_id)

thermostats = await client.get_thermostats(installations)

await client.set_mode(device_id, GkpMode.COMFORT)
await client.set_temperature(device_id, GkpMode.COMFORT, 21.5)

Supported Device Types

Thermostat

Control and monitor GKP Wi-Fi radiators.

Available thermostat modes:

  • OFF - Turn off heating
  • ECO - Energy saving mode
  • AUTO - Follow programmed schedule
  • COMFORT - Comfort mode
  • DEFROST - Frost protection mode
  • BOOST - Boost mode for a limited duration

Temperatures are exposed in °C; the firmware unit (1/10 °F) is converted by the library. Setting a temperature in AUTO mode starts a boost.

Requirements

  • Python 3.12+
  • aiohttp >= 3.8.0

Development

uv venv .venv && uv pip install --python .venv/bin/python -e ".[dev]"
.venv/bin/python -m pytest --cov=gkphomepython
.venv/bin/python -m mypy gkphomepython
.venv/bin/python -m build

License

This project is licensed under the MIT License - see the LICENSE file for details.

Changelog

0.2.0 (2026-10-01)

  • Add get_thermostats to read every thermostat of the installations
  • Move the online detection and the firmware timings to the library
  • Always provide a delay when the API rate limits the user
  • Add GkpRateLimitError
  • Raise GkpRateLimitError instead of GkpAuthError when the APIM quota is exceeded (403 with Retry-After)
  • Use the Home Assistant APIM subscription key

0.1.0 (2026-09-30)

  • Initial release
  • OAuth2 authentication support
  • Installation discovery and thermostat control

Metadata

Release files for gkphomepython 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gkphomepython 0.2.0
File Size Uploaded
gkphomepython-0.2.0.tar.gz 16.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gkphomepython 0.2.0
File Interpreter ABI Platform
gkphomepython-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 28.4 kB

Release files / gkphomepython-0.2.0.tar.gz

Download URL gkphomepython-0.2.0.tar.gz
Size 16.1 kB
Tags Source
SHA-256 checksum
How to use checksums
98ded0c91c3cca069d181464dcba5890179a17d28ab08b36045b207c58d34e05
BLAKE2b-256 checksum
How to use checksums
8cfceac9afa3370c2c5fde3983abd9b12ab7a8334fb8edda091111b5f5b85a4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / gkphomepython-0.2.0-py3-none-any.whl

Download URL gkphomepython-0.2.0-py3-none-any.whl
Size 12.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0f0483cb5f16c003f1f93bc0c88cfefdbad204c41e3578c3974ebb101f9656bc
BLAKE2b-256 checksum
How to use checksums
dc162e6997c054313f3b075b5db5ede6778e3c09d92659eba834e9e604f561c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.0

2 release files

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page