Skip to main content

Python client library for Kohler Anthem Digital Shower API

Project description

kohler-anthem

Python library for controlling Kohler Anthem digital showers.

DISCLAIMER: This is an unofficial library developed independently for personal use. It is not affiliated with, endorsed by, or supported by Kohler Co. This library was reverse-engineered from the Kohler Konnect mobile app and may break at any time if Kohler modifies their APIs. The author provides no warranty, assumes no liability, and offers no support for this software. Use at your own risk. The author is not responsible for any damage to your devices, property, or any other consequences resulting from the use of this library.

Installation

pip install kohler-anthem

Quick Start

import asyncio
from kohler_anthem import KohlerAnthemClient, KohlerConfig, Outlet

async def main():
    config = KohlerConfig(
        username="user@example.com",
        password="password",
        client_id="...",
        apim_subscription_key="...",
        api_resource="...",
    )

    async with KohlerAnthemClient(config) as client:
        # Discover devices
        customer = await client.get_customer("customer-id")
        device = customer.get_all_devices()[0]

        # Get state
        state = await client.get_device_state(device.device_id)
        print(f"Running: {state.is_running}")

        # Control
        await client.turn_on_outlet(device.device_id, Outlet.SHOWERHEAD, temperature_celsius=38.0)
        await client.turn_off(device.device_id)

asyncio.run(main())

Configuration

Parameter Description
username Kohler account email
password Kohler account password
client_id Azure AD B2C client ID
apim_subscription_key Azure APIM subscription key
api_resource Azure AD B2C API resource ID

Obtaining Credentials

The client_id, api_resource, and apim_subscription_key must be extracted from the Kohler Konnect mobile app. See credential-extraction for automated tools and instructions.

Development

make deps    # Install dependencies
make check   # Run lint, typecheck, tests
make help    # Show all targets

See Makefile for all available targets.

License

MIT

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

kohler_anthem-0.1.4.tar.gz (69.8 kB view details)

Uploaded Source

Built Distribution

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

kohler_anthem-0.1.4-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

Details for the file kohler_anthem-0.1.4.tar.gz.

File metadata

  • Download URL: kohler_anthem-0.1.4.tar.gz
  • Upload date:
  • Size: 69.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for kohler_anthem-0.1.4.tar.gz
Algorithm Hash digest
SHA256 ba98884b3981a076f5085808ae2d0103639507877ef72e9ab1f66e569607f619
MD5 5d0c75f5d7ef0d9b96d91dcb1ae5c1ed
BLAKE2b-256 2cc8cf8966f45b69271329da579a79540de45092083ac37fcd724f43b38b403a

See more details on using hashes here.

File details

Details for the file kohler_anthem-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: kohler_anthem-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 23.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for kohler_anthem-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 7d65ad64397854b6d9883d4349f1310a6d1e84bc562dc99122f9a04f418e21bf
MD5 d1d0d956cc9185c99686b7b5bcdc97a8
BLAKE2b-256 e4f216b95c639ba4b1198dcfa3d830fde9ebfbb435d8fcfb3bc8862066710f4f

See more details on using hashes here.

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