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.3.tar.gz (69.5 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.3-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for kohler_anthem-0.1.3.tar.gz
Algorithm Hash digest
SHA256 2ec9af1f3d571ca878e20a0154a7e36a0dde84a77742a06a0cde4f2c9de54238
MD5 66efed7edf59717f30ad6a1a24e4da08
BLAKE2b-256 08ac9d38be7bb22eb040554585714096048e5daa7b9407629019fbe1fc1c5dbd

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for kohler_anthem-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 816be64cba013d524e48e45aad2c1e8133a695a996d5ff41a2e558066d7375e5
MD5 9d3c8a80bd6b79b62672b253794bdd37
BLAKE2b-256 4f85e7846647296ebe49c0d548173098e39574f91e90f02cb06191067780a2d1

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